+ 4

# Sum of list?

#Given a list of numbers, calculate their sum using a for loop. x = [42, 8, 7, 1, 0, 124, 8897, 555, 3, 67, 99] #Here is the solution which works (there's a tab before print): for m in x: print(x[0]+x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8]+x[9]+x[10]) break #However, firstly I tried to do the following, but the result is 42, 50, 57 and so on. How to express only the final sum, not the whole list (but with little code?) sum = 0 for n in x: sum+=n print(sum)

4th Nov 2021, 11:32 AM
Jona Žonta
11 odpowiedzi
+ 11
sum = 0 for n in x: sum+=n print(sum)
4th Nov 2021, 11:44 AM
JaScript
+ 5
SoloProg okay so I did kind of googled that and gave up but only now I realised why it didn't work - because I already used the "sum" as a name I think. If I change it, both solutions work. sumzz = 0 for n in x: sumzz+=n print(sumzz) #or print(sum(x))
4th Nov 2021, 12:13 PM
Jona Žonta
+ 4
JaScript Ohh this is brilliant, I should have just put the print bellow the for (without a tab). Thanks. (ironically in my comment to the first solution I was also talking about the tab before print - but because of other reasons (I wasn't sure how my long line would be copy pasted))
4th Nov 2021, 11:50 AM
Jona Žonta
+ 4
You are welcome 😊
4th Nov 2021, 11:53 AM
JaScript
+ 3
print(sum(x))
6th Nov 2021, 1:48 AM
CGO!
+ 2
print(sum(x)) # Keep learning & happy coding :D
4th Nov 2021, 12:07 PM
SoloProg
+ 2
Jona Žonta you said "calculate their sum using a for loop." so JaScript is correct.
4th Nov 2021, 12:33 PM
SoloProg
+ 1
Another popular way: import reduce from functools print(reduce(lambda a, b: a + b, x))
5th Nov 2021, 3:25 PM
Yahel
+ 1
you can do it with the iterative version or recursive version https://code.sololearn.com/cY8t5z0SMjA1/ ps: or use a builtin function like sum(arr)
6th Nov 2021, 9:31 AM
Pere Antoni Rollon Baiges
0
Jona Žonta No worry just use sum function no need to use loop print(sum(list1))
4th Nov 2021, 12:59 PM
A͢J
0
Best code
5th Nov 2021, 3:23 PM