为什么IF和Else语句不能在Python中工作?Python只是忽略了Else语句
因此,我试图将斜边定理编码为python,出于某种原因,即使我在请求字母h时键入字母k,它仍会继续,就好像我输入了h一样,尽管这会让我再次尝试为什么IF和Else语句不能在Python中工作?Python只是忽略了Else语句,python,if-statement,Python,If Statement,因此,我试图将斜边定理编码为python,出于某种原因,即使我在请求字母h时键入字母k,它仍会继续,就好像我输入了h一样,尽管这会让我再次尝试 print ("H for hypotenuse") typ = input(":") if typ == "H" or "h" or "Hypotenuse" or "hypotenuse": print ("What Side are you missing?") print("A for The leg, B for the bas
print ("H for hypotenuse")
typ = input(":")
if typ == "H" or "h" or "Hypotenuse" or "hypotenuse":
print ("What Side are you missing?")
print("A for The leg, B for the base, C for The longest side")
side=(input(":"))
if side == "A" or "B" or "a" or "b":
if side == "A" or "a":
print("What is B?")
b = int(input(":"))
print("What is C?")
c = int(input(":"))
a = int((c*c)-(b*b))
a1 = (a/a)
print("A is ", a1)
else:
print("What is A?")
a = input(":")
print("What is C?")
c = input(":")
b = (c*c)-(a*a)
b1 = b/b
print("B is ", b1)
else:
print("What is A?")
a = input(":")
print("What is B?")
b = input(":")
c = (a*a)+(b*b)
c1 = c/c
print("C is ", c1)
else:
print ("Please try again")
如果类型==“H”或“H”或“斜边”或“斜边”
,如果边==“A”或“B”或“A”或“B”
,如果边==“A”或“A”
并不是你认为的意思。相反,您希望在{H”,“H”,“斜边”,“斜边”}中执行if type,在{A”,“B”,“A”,“B}
中执行if side,在{A”,“A}中执行if side
旁注:您可以使用elif
来简化代码,而不是嵌套“a”和“a”的重复检查。您的if逻辑有问题,我认为您应该这样编写。如果side='A'或side='B'或side='A'或side='B',等等,由于运算符的优先级,您有if(side='A')或“A”:
由于“A”
将计算为非false,因此您有if(side='A')或True:
任何语句,其中至少有一个True
计算为True。因此,您的整个语句可以重写为,如果为True:
。