![]() |
Adding items in a list (using loops?) - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Adding items in a list (using loops?) (/thread-22654.html) |
Adding items in a list (using loops?) - Seneca260 - Nov-21-2019 Hi, Sorry if this is a dumb question, but I am only a week into coding. I have a list that is comprised of integers. I would like to add these all together, but I can't seem to do it correctly. broken_prices = [5, 3, 4, 5, 4] + [4] def sum_list(broken_pieces): sum = 0 for x in broken_pieces: sum += x return sumBasically, I am trying to write code that will return the total of the numbers in the list, which would be 25. Thanks in advance RE: Adding items in a list (using loops?) - ThomasL - Nov-21-2019 Your function is working but you need to call it with your list to get a result. And beware not to name a variable "sum" as this is an inbuild python function actually the one that does what you rebuild. def sum_list(elements): total = 0 for element in elements: total += element return total broken_prices = [5, 3, 4, 5, 4] + [4] print(sum_list(broken_prices)) # ==> 25 print(sum(broken_prices)) RE: Adding items in a list (using loops?) - perfringo - Nov-21-2019 There is built-in function sum: >>> sum([5, 3, 4, 5, 4]) 21 >>> sum([5, 3, 4, 5, 4] + [4]) 25And I concur with ThomasL - don't use built-in function names. RE: Adding items in a list (using loops?) - newbieAuggie2019 - Nov-21-2019 (Nov-21-2019, 11:46 AM)Seneca260 Wrote: broken_prices = [5, 3, 4, 5, 4] + [4] Hi! You have to be very careful with the words and punctuation signs in Python (I guess in all programming languages). So your list named broken_prices is NOT the same as your broken_pieces .As others have said, you cannot use special words in python as names for variables. These special words appear in a different colour (like print, def, for, sum). You could use nevertheless sum1 instead of sum for the name of a variable (the colour will change as soon as you add the 1 to the name).I have tried to follow your original program, making some necessary adjustments to show you clearly what is happening: broken_prices = [5, 3, 4, 5, 4] + [4] print(f"This is the list: {broken_prices}.") def sum_list(list1): sum1 = 0 for x in list1: sum1 += x print(f"The total sum of the elements of the list is {sum1}.") sum_list(broken_prices)and now it produces the following output: All the best,
RE: Adding items in a list (using loops?) - perfringo - Nov-22-2019 This is under 'General Coding Help' so one should focus on 'best practices' not to obscure ways to achieve desired result ![]() Things would be different if we had this thread under 'Homework'..... ![]() RE: Adding items in a list (using loops?) - buran - Nov-22-2019 In addition to @perfingo's comment - OP wants their function to return, not print the result RE: Adding items in a list (using loops?) - Seneca260 - Nov-22-2019 (Nov-21-2019, 12:08 PM)ThomasL Wrote: Your function is working but you need to call it with your list to get a result. Thank you ThomasL and Auggie. This is exactly what I was trying to do! I find the element aspect of things a bit confusing, so I appreciate the help. Thanks to everyone else who gave input. Sorry if I misplaced this. I wasn't sure if this should go in 'Homework' since this wasn't really homework, but rather something I was just trying to do on my own with code I used elsewhere. |