我试图找到一个用户输入的数字的平均值。循环应该重复自己,直到用户输入-9999(sentinel值),这是我目前所拥有的,它在空闲状态下工作,但是当我输入-9999时,程序不会结束给我一个平均值。我是python新手,需要一些指导,谢谢。在
import random
numbers = [int(input("Please, enter number {}(-9999 to end")
if input("-9999"):
# will display prompt like "Please, enter number 1:"
print ("numbers entered:", numbers) # this will print the entered number
positives = [num for num in numbers if num > 0]
negatives = [num for num in numbers if num < 0]
# loop ends here
print ("Average negative number is :", sum(negatives)*1.0/len(negatives))
print ("Average positive number is :", sum(positives)*1.0/len(positives))
print ("Average of all numbers is:",sum(numbers)/len(numbers))
此代码将在您向列表中添加数字时循环,并在您输入-9999时停止。然后它会扔掉-9999,这样你就可以继续你的平均分了。它不紧凑,但它有效而且简单。在
是个很酷的方法
如果对第一个参数使用函数,iter可以将要等待的前哨值作为第二个参数
除了你的积极和消极。。。。它似乎会忽略零(这可能是有意的)。。。在
相关问题 更多 >
编程相关推荐