2015-06-23 31 views
0

我正在使用python,我無法找到如何讓python提醒用戶,當他給一個整數作爲輸入,已經進入。也出於某種原因,我無法找到列表的總和,更不用說平均值了。 這是我迄今爲止嘗試過的。我希望用戶能夠輸入10個整數。找到一個列表的總和/平均值,並找出重複的數字是否在列表中

value = raw_input ("Enter a number: ") 
numbers = [(x) for x in value.split()] 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 
numbers.append (raw_input("Enter a number: ")) 

print sum(numbers)/len(numbers) 

這允許用戶進行列表,當我打印清單,談到了罰款

Enter a number: 1 
Enter a number: 2 
Enter a number: 3 
Enter a number: 4 
Enter a number: 5 
Enter a number: 6 
Enter a number: 7 
Enter a number: 8 
Enter a number: 9 
Enter a number: 8 
>>> print numbers 
['1', '2', '3', '4', '5', '6', '7', '8', '9', '8'] 

現在,當我使用此代碼找到的總和,甚至平均值。

print sum(numbers)/len(numbers) 

用戶輸入10個數字後,該出來

Traceback (most recent call last): 
    File "C:/Python27/need help.py", line 13, in <module> 
    print sum(numbers)/ len (numbers) 
TypeError: unsupported operand type(s) for +: 'int' and 'str' 

也是有辦法提醒用戶,當他們進入了一個重複的號碼?

請真的需要幫助。

+0

另一個相關的問題[我怎麼可以使用sum()函數在Python中的列表?(http://stackoverflow.com/questions/9746522/how-可以使用和函數爲列表中的蟒蛇)這與您的案例完全匹配 –

回答

0

您尚未將輸入轉換爲整數。他們仍然是字符串。

使用此將它們轉換 -

numbers = [int(i) for i in numbers] 
+0

謝謝,我已經這樣做了,但只有第一個數字是一個整數,其餘的仍然是字符串。它看起來像這樣[1,2,3,4,5,6,7,8,9,8] –

+0

我認爲它工作正常在我的系統上。你能再次檢查嗎?在完成'print sum(numbers)/ len(numbers)'之前,在所有輸入完成後寫下這個語句 –