There is 5 fundraising projects, and the purpose of this program is to substract the amount of money that each of n donators will donate from the desired sum of each project
The program partially work, but sometimes python typing “TypeError: ‘NoneType’ object is not subscriptable” and the programm fall
What can cause this crash?
Thank you for your help!
n_month = 5 nl = [[], [],[], [], []] place = 1 var = 1 #creating list of lists of the format [sum, number of project]. # for example this one: [[53, 1], [78, 2], [152, 3], [51, 4], [39, 5]] for lst in nl: summ = int(input("Please input miminum budget for next project:")) lst.append(summ) lst.insert(place, var) place +=2 var+=1 n = int(input("Please enter number of donors: ")) for i in range(n): project_n = int(input("Please enter project number (1-5): ")) donation = int(input("Please enter donation: ")) nl[project_n-1][0] -= donation print(nl)
Advertisement
Answer
You need to reassign the value which you can do with the -=
notation:
nl = [[800, 1], [400, 2]] # each inner list is a fundraising project. the first number in each inner loop refer to the desired amount of money, and the second number is the number of the project for i in range(3): # there will be 3 donations, the donator will specify to which project and how much money he want to donate project_n = int(input("Please enter project number (1-5): ")) donation = int(input("Please enter donation: ")) nl[project_n][0] -= donation # here