我正在和我的学生一起解决这个简单的问题,并对代码的这种意外行为感到震惊。
我们正在尝试找到 3 个数字中最大的一个:
num1 = 12
num2 = 9
num3 = 16
if num1 > num2:
if num1> num3:
print(num1)
elif num2> num1:
if num2 > num3:
print(num2)
else:
print(num3)
代码不会有任何输出。
我的猜测是嵌套的 if 破坏了父 if 。
帮助我理解这一点。
此代码的问题在于它没有涵盖所有可能的情况。具体来说,如果 num1 和 num2 相等,则代码不会打印任何内容,因为 if 条件 num1 > num2 将计算为 false,elif 条件 num2 > num1 也不会打印任何内容。
要解决此问题,您需要处理 num1 和 num2 相等的情况。
num1 = 12
num2 = 9
num3 = 16
if num1 > num2:
if num1 > num3:
print(num1)
else:
print(num3)
elif num2 > num3:
print(num2)
else:
print(num3)