程序确定有多少数字是正数、负数或零数



(编辑:使用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)

最新更新