Always giving the answers as 1

Hi,

I have wrote a python program to sum the numbers in a list.However its giving answer one.

Please advise.

MyList = []
Number =  int(input("Please enter number:"))
for i in range(1, Number + 1):  
    value = int(input("Enter Numbers %d:" %i))
MyList.append(value)

total = sum(MyList)

print("Sum of num:", total)

Output

C:\Practice>py Sumlist.py
Please enter number:4
Enter Numbers 1:1
Enter Numbers 2:2
Enter Numbers 3:3
Enter Numbers 4:1
Sum of num: 1
1 Like

I am not quite sure what you are trying to do but if it is just summation you want try...

MyList = []
Number =  int(input("Please enter number:"))
for i in range(1, Number + 1):  
    value = int(input("Enter Numbers %d:" %i))
    MyList.append(value)

total = sum(MyList)

print("Sum of num:", total)

Yes, MyList.append(value) must be indented, otherwise it is after the loop!

A more pythonic way :wink:

N = int(input("Please enter number:"))
t = sum([int(input("Enter Numbers %d:" %i)) for i in range(1, N+1)])
print(t)
3 Likes