(编辑:使用python 2.7( 我试图让用户输入 10 个数字,程序需要计数并确定有多少是负数、正数或零。但是,每次我运行该程序时,它都不会给我正确数量的负数或正数(或零数(
i =[]
for i in range(10)
i = input('Enter Next Number: ')
n = 0
p = 0
z = 0
if (i > 0):
p = p+1
elif (i < 0):
n = n+1
elif (i == 0):
z = z+1
print "The number of negative numbers is",n
print "The number of positive numbers is",p
print "The number of zeros is",z
正如Johnny Mopp
在他的评论中所建议的那样,您需要在循环之外声明计数器。如果您在内部声明它们,则它们在每次迭代时都会重置,并且您只计算用户输入的最后一个数字
n = 0
p = 0
z = 0
for i in range(10):
i = input('Enter Next Number:')
if (i > 0):
p = p+1
elif (i < 0):
n = n+1
else:
z = z+1
print "The number of negative numbers is",n
print "The number of positive numbers is",p
print "The number of zeros is",z
您还需要将输入转换为整数。如果您确实希望将它们添加到列表中,则需要在收集所有输入后遍历列表。如果不需要保留列表中的值@Bentaye答案就可以了。
i =[]
n = 0
p = 0
z = 0
for num in range(10):
x = int(input('Enter Next Number: '))
i.append(x)
for y in range(len(i)):
if (i[y] > 0):
p = p+1
elif (i[y] < 0):
n = n+1
elif (i[y] == 0):
z = z+1
print ("The number of negative numbers is",n)
print ("The number of positive numbers is",p)
print ("The number of zeros is",z)