程序确定有多少个数字为正数,负数或零

时间:2018-04-09 14:45:27

标签: python-2.7 loops

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

2 个答案:

答案 0 :(得分:2)

在评论中建议@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(mCurrentFragment!= null){ mCurrentFragment.onActivityResult(requestCode, resultCode, data); } } ,你需要在循环之外声明你的计数器。如果你在里面声明它们,它们会在每次迭代时重置,你只计算用户输入的最后一个数字

Johnny Mopp

答案 1 :(得分:1)

您还需要将输入转换为整数。如果您真的希望将它们添加到列表中,则需要在收集所有输入后迭代列表。如果不需要保留列表中的值@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)