Ошибка типа: объект 'int' не поддерживает назначение элемента Python - PullRequest
0 голосов
/ 02 февраля 2020

Может кто-нибудь сказать, почему я постоянно получаю эту ошибку в Python 2.7, см. Ниже для маркировки ошибки. Заранее спасибо!

Мне нужно составить программу для подсчета количества монет на человека и подсчета их суммы

TotalPeople = int(raw_input("Enter the number of people "))
Loop = 0
DC2 = 0
DC1 = 0
C50 = 0
C25 = 0 
C10 = 0
C5 = 0 
C2 = 0 
TVC = 0.0
i = 1

while i != TotalPeople:
    DC2[i] = raw_input("How many 2 dollar coins?")     // ERROR for this line
    DC1[i] = raw_input("How many 1 dollar coins?")
    C50[i] = raw_input("How many 50 cent coins?")
    C25[i] = raw_input("How many 25 cent coins?")
    C10[i] = raw_input("How many 10 cent coins?")
    C5[i] = raw_input("How many 5 cent coins?")
    C2[i] = raw_input("How many 2 cent coins?")
    Total =  (DC2[i] *2) + (DC1[i] * 1) + (C50[i] * 0.50) + (C25[i] * 0.25) + (C10[i] * 0.10) + (C5[i] * 0.05) + (C2[i] * 0.02)
    print "The total is " + Total

iw = 1
while iw != TotalPeople:
    TVC = TVC + (DC2[iw] * 2)
    TVC = TVC + (DC1[iw] * 1) 
    TVC = TVC + (C50[iw] * 0.50) 
    TVC = TVC + (C25[iw] * 0.25) 
    TVC = TVC + (C10[iw] * 0.10) 
    TVC = TVC + (C5[iw] *  0.05) 
    TVC = TVC + (C2[iw] * 0.02)

print("The total value is CAD $" + str(TVC) + " for " + str(TotalPeople) +  " people") 

Ответы [ 2 ]

0 голосов
/ 02 февраля 2020

DC2 является целым числом. Вы пытаетесь присвоить ему, как если бы это было list (с индексацией). Это не работает.

0 голосов
/ 02 февраля 2020

Вы объявили D C как целое число, но затем в этой строке:

DC2[i] = raw_input("How many 2 dollar coins?")

(и все последовательные строки впереди), вы имеете дело с ним, как если бы это был подозрительный объект. Я думаю, что вы хотите избавиться от всех назначений индексов, которые вы выполняете в то время как l oop.

DC2 = raw_input("How many 2 dollar coins?") 
DC1 = raw_input("How many 1 dollar coins?")
C50 = raw_input("How many 50 cent coins?")
C25 = raw_input("How many 25 cent coins?")
C10 = raw_input("How many 10 cent coins?")
C5 = raw_input("How many 5 cent coins?")
C2 = raw_input("How many 2 cent coins?")
...