当我只使用 "if "语句时,这段代码可以工作。当我添加 "else "语句时,它就会失败。
以下是代码
def TotalDistance(Distance_A,Distance_B):
Distance_X = (float(Distance_A) + float(Distance_B))/1000
return Distance_X
Distance_A = input("Distance_A:")
Distance_B = input("Distance_B:")
C = str(TotalDistance(Distance_A,Distance_B))
if TotalDistance(Distance_A,Distance_B) > 1 :
print( C + " KM")
else TotalDistance(Distance_A,Distance_B) < 1 :
print("Distance too short")
print(TotalDistance(Distance_A,Distance_B))
这就是我所面临的错误:-。
File ".\myprogram_1.py", line 11
else TotalDistance(Distance_A,Distance_B) < 1 :
^
SyntaxError: invalid syntax
你几乎有了它,只是一个小的调整使它工作。我已经提供了一个解决方案,其次是解释。
def TotalDistance(Distance_A,Distance_B):
Distance_X = (float(Distance_A) + float(Distance_B))/1000
return Distance_X
Distance_A = input("Distance_A:")
Distance_B = input("Distance_B:")
C = str(TotalDistance(Distance_A,Distance_B))
if TotalDistance(Distance_A,Distance_B) > 1 :
print( C + " KM")
else:
print("Distance too short")
print(TotalDistance(Distance_A,Distance_B))
然后我们尝试
Distance_A:100
Distance_B:200
Distance too short
0.3
问题出现在 else 部分,当使用 else:
不需要指定条件( else:不取条件,你会用 else if (elif
)来完成这一任务)。您从 TotalDistance(Distance_A,Distance_B)
只能大于或小于1。
需要注意的是,上面的代码并没有考虑到当值为 TotalDistance(Distance_A,Distance_B)
等于零,我没有修改这个,因为我不确定当这种情况发生时你希望执行哪条语句。
另外,查看这个链接,了解一下python中的if-else语句,以便更好地理解它们的工作原理 https:/www.guru99.comif-loop-python-conditional-structures.html .
当{TotalDistance(Distance_A,Distance_B)} == 0时,我将使用这个方法。
下面是代码。-
def TotalDistance(Distance_A,Distance_B):
Distance_X = (float(Distance_A) + float(Distance_B))/1000
return Distance_X
Distance_A = input("Distance_A:")
Distance_B = input("Distance_B:")
C = str(TotalDistance(Distance_A,Distance_B))
if TotalDistance(Distance_A,Distance_B) > 1 :
print( C + " KM")
elif TotalDistance(Distance_A,Distance_B) == 0 :
print("You are going no where")
else :
print("Distance too short")