2014-11-25 127 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它將是負數

相關問題