0

I'm using python and I'm unable to find out how to get python to alert a user when he gives an integer as an input, that has already been entered. Also for some reason I am not able to find the sum of a list let alone the mean. Here is what I have so far tried. I want a user to be able to enter 10 integers.

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)

This allows a user to make a list and when I print the list, it comes out fine

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']

Now when I use this code to find the sum or even the mean.

print sum(numbers)/len(numbers)

After the user enters the 10 numbers, this comes out

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'

also is there a way to alert the user when they have entered a duplicate number?

Please I really need help.

Deepak
  • 275
  • 2
  • 18
  • Another relevant question [How can I use sum() function for a list in Python?](http://stackoverflow.com/questions/9746522/how-can-i-use-sum-function-for-a-list-in-python) Which matches your case exactly – Bhargav Rao Jun 23 '15 at 18:01

1 Answers1

0

You haven't converted the input into integers. They are still strings.

Use this to convert them -

numbers = [int(i) for i in numbers]
Utsav T
  • 1,515
  • 2
  • 24
  • 42
  • Thank you, I have done that now but only the 1st number is an integer the rest are still strings. it looks like this [1, '2', '3', '4', '5', '6', '7', '8', '9', '8'] – steven okeya Jun 23 '15 at 20:00
  • I think it is working properly on my system. Could you check again please ? Write this statement after all the inputs have been taken, just before doing `print sum(numbers)/len(numbers)` – Utsav T Jun 23 '15 at 20:29