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