2 回答
TA贡献1921条经验 获得超9个赞
你有两个不同的输入 -A和乙。如果A已经大于乙, 然后乙不能大于A。但,乙可以等于A。因此,您的代码首先检查是否A大于乙或不,如果你的输入A大于乙然后它再次检查是否乙大于A或不,这没有意义。您使用了嵌套的 if 语句,即 if 语句内部的 if 语句。作为条件为乙在里面if a>b:
,你的代码不检查乙.
if a>b:
print(arguments)
elif a == b:
print(arguments)
else: #this is if b>a
print(arguments)
TA贡献1820条经验 获得超2个赞
如果b大于a,则第一个if条件失败。这意味着该if块内没有任何内容被执行。这包括嵌套if语句。因此它永远不会执行 的测试b > a,然后就永远不会打印b is bigger than a。
当你有互斥条件时,你不应该使用nested if,你应该使用elif.
if a > b:
print('a is bigger than b')
elif b > a:
print('b is bigger than a')
else:
print('a and b are the same')
if当您想要测试附加条件而不是替代条件时,嵌套非常有用。
a=int(input('What is the first number?'))
b=int(input('What is the second number?'))
c=int(input('What is the third number?'))
if a < b:
if (b < c):
print('The numbers are in order')
elif (c < b):
print('The first two numbers are in order, but not the third')
添加回答
举报