我期望返回3值,但是我的代码未返回任何值。
谢谢
a = 3
if a > 0:
if a == 1:
print(1)
elif a == 2:
print(2)
elif a == 2:
print(2)
elif a == 3:
print(3)
else:
print(a)
答案 0 :(得分:1)
这是因为满足您的第一个条件if a > 0
。因此,代码沿该路径行进并且不满足a == 1
或a == 2
的两个嵌套条件。
答案 1 :(得分:0)
由于a == 3,您的第一个if满足(其他elif不会触发,因为它们仅在前一个if失败时才触发),然后您的代码将测试a == 1或2(即并非如此),因此您的代码不会打印任何内容。您应该这样修改代码
a = 3
if a > 0:
if a == 1:
print(1)
elif a == 2:
print(2)
if a == 2:
print(2)
if a == 3:
print(3)
else:
print(a)
答案 2 :(得分:0)
elif
仅在if
条件为False
的情况下执行,因此您可能需要:
a = 3
if a > 0:
if a == 1:
print(1)
elif a == 2:
print(2)
if a == 3:
print(3)
else:
print(a)
输出:
3
答案 3 :(得分:0)
当a的值大于0时,满足第一个if语句。可以通过以下if / elif块实现所需的结果:
a = 3
if a == 3:
print(3)
elif a == 2:
print(2)
elif a == 1:
print(1)
else:
print(a)
上面将检查三个条件的变量,打印出所需的结果。 else:将捕获其他任何输入并打印变量。