注意:我正在使用Python 3
我正在尝试弄清楚如何打印变量中设置的所有其他数字(在本例中为num1
,num2
,num3
和num4
),除了为零。在过去的2到3天里,我一直在玩我的代码,但还没有找到任何解决方案。我在互联网上搜索任何教程/代码示例,但仍无济于事。
num1 = 0
num2 = 2
num3 = 3
num4 = 4
if num1 != 0:
test1 = num1
elif num2 != 0:
test2 = num2
elif num3 != 0:
test3 = num3
elif num4 != 0:
test4 = num4
print(test1, test2, test3, test4)
以下是我在运行上述代码时不断出现的错误:
NameError: name 'test1' is not defined
我确信这是一个非常简单的问题,我只是遗漏了一些东西。
提前致谢。
答案 0 :(得分:1)
此处,语句test1 = num1
只有在语句if num1 != 0:
为真时才会执行,而在您的情况下则不然。因此,test1变量甚至没有被创建。
所以,如果你可以为test1,test2,test3和test4创建空容器;这将解决目的。
代码看起来像这样:
num1 = 0
num2 = 2
num3 = 3
num4 = 4
test1 = test2 = test3 = test4 = 0
if num1 != 0:
test1 = num1
elif num2 != 0:
test2 = num2
elif num3 != 0:
test3 = num3
elif num4 != 0:
test4 = num4
print(test1, test2, test3, test4)
输出:(0, 2, 0, 0)
答案 1 :(得分:1)
一个选项是将所有变量放在列表中......
numbers = [num1, num2, num3, num4]
然后使用循环打印到不等于零的那些:
for num in numbers:
if (num != 0):
print(num)
答案 2 :(得分:1)
那是因为变量test ... n在使用时没有指定值 试试这个:
num1 = 0
num2 = 2
num3 = 3
num4 = 4
test1=test2=test3= test4= int()
if num1 != 0:
test1 = num1
elif num2 != 0:
test2 = num2
elif num3 != 0:
test3 = num3
elif num4 != 0:
test4 = num4
print(test1, test2, test3, test4)
打印出:(0,2,0,0)