Python:没有多个打印不等于0

时间:2018-08-28 06:16:36

标签: python

我是Python的新手。我怎么知道一个函数是否被使用;如果不等于零,则程序将打印;否则,请勿打印任何零。

b1 = (int(a1[0]) + int(a2[0])) // 10
b2 = (int(a1[1]) + int(a2[1])) // 10
b3 = (int(a1[2]) + int(a2[2])) // 10

if (b1,b2,b3) !=0:
     print (b1, b2, b3)

4 个答案:

答案 0 :(得分:1)

欢迎堆栈溢出!

在Python中,(b1,b2,b3)代表tuple对象。而且它显然不等于int对象零,因此您的if条件始终会满足。

如果要在三个都不为零的情况下进行打印,则可以将代码更改为此:

if b1 != 0 or b2 != 0 or b3 != 0:
    print(b1,b2,b3)

答案 1 :(得分:1)

您可以使用元组而不是int列表:

这是您可以使用的方式:

thistuple = (0,2,3,1)
for i in range(len(thistuple)):
    if(thistuple[i] != 0):
        print (thistuple[i])

答案 2 :(得分:0)

因为它是数组,而不是检查像这样的值,您甚至可以使用loop

for i in range(3):
    if int(a1[i]) + int(a2[i]) != 0:
        print(int(a1[i]) + int(a2[i]))

这将仅打印不等于零的答案。

答案 3 :(得分:0)

尝试一下:

您可以将所有元素b1,b2,b3存储在列表中并检查特定值:

a1=[0,2,3]
a2=[0,0,4]
b1 = int(a1[0]) + int(a2[0])
b2 = int(a1[1]) + int(a2[1])
b3 = int(a1[2]) + int(a2[2]) 
temp=[b1,b2,b3]
if 0 in temp:
  print(b1, b2, b3)