有谁知道为什么当我为 b 输入的数字大于 a 时代码不起作用。我正在学习 python 的嵌套 if :
a=int(input('What is the first number?'))
b=int(input('What is the second number?'))
if a>b:
print('a is bigger than b')
if b>a:
print('b is bigger than a')
子衿沉夜
浏览 75回答 2
2回答
郎朗坤
你有两个不同的输入 -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)
如果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')