从多个输入创建列表并平均输出

时间:2014-11-25 01:04:32

标签: python list

我正在尝试编写代码来执行以下操作我希望有人可以指出我正确的方向并解释/告诉我我需要做什么。谢谢!

样品:

输入一个数字(-9999结束):4

输入一个数字(-9999结束): - 3

输入一个数字(-9999结束): - 15

输入一个数字(-9999结束):0

输入一个数字(-9999结束):10

输入一个数字(-9999结束):22

输入一个数字(-9999结束): - 999

输入的所有数字列表为:

[4,-3,-15,0,10,22]

平均字典是:

{' AvgPositive':12.0,' AvgNonPos':-6.0,' AvgAllNum':3.0}

2 个答案:

答案 0 :(得分:0)

要从输入创建整数列表,请执行以下操作:

myList = []
while True:
    myInput = raw_input('Please enter a number: ')
    if myInput == '-9999':
        break
    else:
      myList.append(int(myInput.strip()))

然后执行你需要处理的整数列表。

答案 1 :(得分:0)

你可以这样试试:

my_num = []
while True:
    n = input("Enter a number (-9999 to end):")
    if n == '-9999':
        break               # if user enters -9999 it will come out of loop
    my_num.append(int(n))
avg = sum(my_num)/len(my_num)
avg_pos = sum([ x for x in my_num if x>=0 ])/len(my_num)
avg_neg = sum([ x for x in my_num if x<0 ])/len(my_num)

现在你可以轻松地把这一切都放在字典中了

sum函数给你列表总和。 len函数给出列表长度
如果x> = 0,我正在循环列表,它将是正数。如果x <0则为负值