如果使用python,嵌套的含义

有谁知道为什么当我为 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)

DIEA

如果b大于a,则第一个if条件失败。这意味着该if块内没有任何内容被执行。这包括嵌套if语句。因此它永远不会执行 的测试b > a,然后就永远不会打印b is bigger than a。当你有互斥条件时,你不应该使用nested if,你应该使用elif.if a > b:&nbsp; &nbsp; print('a is bigger than b')elif b > a:&nbsp; &nbsp; print('b is bigger than a')else:&nbsp; &nbsp; 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:&nbsp; &nbsp; if (b < c):&nbsp; &nbsp; &nbsp; &nbsp; print('The numbers are in order')&nbsp; &nbsp; elif (c < b):&nbsp; &nbsp; &nbsp; &nbsp; print('The first two numbers are in order, but not the third')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python