2014-11-25 88 views
0

我想编写一个代码来执行以下操作我希望有人能指出我在正确的方向并向我解释/显示我需要做什么。谢谢!从多个输入创建一个列表并平均输出

样品:

输入号码(-9999至结束):4

输入号码(-9999至结束):-3

输入号码(-9999至端) :-15

输入号码(-9999至结束):0

输入号码(-9999至结束):10

输入号码(-9999至结束):22

输入号码(-9999至结束):-9999

输入的所有数字的列表是:

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

与平均值的词典是:

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

+0

你到目前为止得到了什么代码? – 2014-11-25 01:09:26

+0

没什么,我似乎无法弄清楚从哪里开始。 – qaguy 2014-11-25 01:14:29

回答

0

要创建你的lis从输入的整数,做这样的事情:

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

然后做你需要做的与整数列表。

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它将是负数