为了账号安全,请及时绑定邮箱和手机立即绑定

如果使用python,嵌套的含义

如果使用python,嵌套的含义

子衿沉夜 2023-08-22 10:15:23
有谁知道为什么当我为 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')
查看完整描述

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)


查看完整回答
反对 回复 2023-08-22
?
DIEA

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')


查看完整回答
反对 回复 2023-08-22
  • 2 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信