问题陈述:编写一个读取未指定数量的整数的程序,确定读取了多少正值和负值,并计算输入值的总和和平均值(不计算零)。程序以输入0结束。将平均值显示为浮点数。
示例输出(忽略项目符号,不知道如何将文本格式化为控制台输出):
尝试解决方案:
def main():
i = int( input ("Enter an interger, the input ends if it is 0: "))
count_pos = 0
count_neg = 0
total = 0
if (i != 0):
while (i != 0):
if (i > 0):
count_pos += 1
elif (i < 0):
count_neg += 1
total += i
i = int( input ("Enter an interger, the input ends if it is 0: "))
count = count_pos + count_neg
average = total / count
print ("The number of positives is", count_pos)
print ("The number of negatives is", count_neg)
print ("The total is", total)
print ("The average is", float(average))
else:
print ("You didn't enter any number.")
main()
答案 0 :(得分:0)
您不需要此行(这就是您的错误发生的原因):
main(i)
要连续获取用户输入,请使用无限循环,并测试条件以打破循环。
while (true):
i = input("Enter an integer (0 to stop): ")
if(i == 0)
break
sum1 += i
if (i > 0):
count_pos += 1
elif (i < 0):
count_neg += 1
然后计算并返回平均值。
答案 1 :(得分:0)
您正在使用参数&#39; i&#39;来调用主函数,该函数不存在。您不能使用在该函数之外的函数中声明的变量
退房:Python Scopes