浅酌清酒 发表于 2021-8-5 18:52:34

新手问题


为啥输出两个结果1比2小还等于2?

柿子饼同学 发表于 2021-8-5 19:02:42

本帖最后由 柿子饼同学 于 2021-8-5 19:10 编辑

你的层级有问题啊

num1 = input('请输入第一个数:')
num2 = input('请输入第二个数:')

if num1 < num2:
    print('第一个小')
elif num1 > num2:
    print('第二个小')
else:
    print('一样大')


这样

num1 = input('请输入第一个数:')
num2 = input('请输入第二个数:')

if num1 < num2:
    print('第一个小')
if num1 > num2:
    print('第二个小')
if num1 == num2:
    print('一样大')
下面这个供你理解

鱼与熊掌w 发表于 2021-8-5 19:06:22

把第二个if改为elif就好了,下次记住当分支多于两个时候用elif

大马强 发表于 2021-8-5 19:06:41

if 和 else 的基本用法
if 条件成立:
    xxx
else: 条件不成立
    xxx
这里有两个if,先是第一个if判断,第一个if条件成立 输出 第一个数比第二个小,然后是第二个if判断,条件不成立输出else里的print

柿子饼同学 发表于 2021-8-5 19:08:57

你的程序有两个if
第一个时 , 1 < 2 , 所以打印第一句话
第二个 if 时 , 1 > 2 不成立 , 所以运行 else 内的内容
所以是两个
但是这三个条件 : num1 < num2 , num1 > num2 , num1 == num2是同一个级别的
所以会出现错误

大马强 发表于 2021-8-5 19:10:10

if 1:
    if 1:
   
    else: #与第二个if匹配
   
    if: # 无else匹配

else: #与第一个if匹配

else匹配是同缩进时就近原则
页: [1]
查看完整版本: 新手问题