Well of course that doesn't work. For starters, x is an int or a float value.
After the loop It holds the 10th value. It might hold 432.7 ... It is not a
list.
The default start for range is 0. The stop value, as you already know, is not
part of the range. So I will use range(10).
In the second loop, I think you thought x would be a list and you I'm sure you
wanted to do
for y in x:
but instead you did
for y in range(x)
and remember x might be a very large number. So the second loop would loop
that many times, and each pass it would assign y (which has first value of 0
and last value of whatever x-1 is) to sum. Even though its name is "sum" it is
not a sum. After the loop it would hold x-1. You wanted to do sum += y.
Or sum = sum + y. I prefer the former, but that could reflect my history as a
C and C++ programmer.
And then you printed y, but you really want to print sum (assuming that sum
was actually the sum).
Putting all of the above together, you want to do this:
vallist =[] # an empty list, so we can append to it
for n in range(10):
x = input("Insert a number: ") # get 1 number into x
vallist.append(x) # append it to our list
# Now vallist holds 10 values
sum = 0 # No need to start sum as a float, in Python if we add a float to an
integer the result will be float. It doesn't matter in the program if sum is
int or float.
for y in vallist:
sum += y
print( "The sum is: ", sum)
-----Original Message-----
From: ^Bart <[email protected]>
Sent: Thursday, February 7, 2019 6:30 AM
To: [email protected]
Subject: The sum of ten numbers inserted from the user
I thought something like it but doesn't work...
for n in range(1, 11):
x = input("Insert a number: ")
for y in range(x):
sum = y
print ("The sum is: ",y)
--
https://mail.python.org/mailman/listinfo/python-list