Py学习  »  Python

python:非多个打印不等于0

shaa5 • 5 年前 • 1354 次点击  

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

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)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38033
 
1354 次点击  
文章 [ 4 ]  |  最新文章 5 年前
ANKUR KHUNT
Reply   •   1 楼
ANKUR KHUNT    6 年前

试试这个:

可以将所有元素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)
pkd
Reply   •   2 楼
pkd    6 年前

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

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

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

Juhil Somaiya
Reply   •   3 楼
Juhil Somaiya    6 年前

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

以下是您可以使用的方法:

thistuple = (0,2,3,1)
for i in range(len(thistuple)):
    if(thistuple[i] != 0):
        print (thistuple[i])
Kevin Fang
Reply   •   4 楼
Kevin Fang    6 年前

欢迎使用堆栈溢出!

在python中, (b1,b2,b3) 表示 tuple 对象。它显然不等于int对象0,所以if条件总是满足的。

如果要在三个值之一不为零时打印,可以将代码更改为:

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