ошибка типа python: объект ‘int’ не поддерживает python для присвоения элементов

#python

Вопрос:

эта проблема возникает, когда я ставлю promedios[x] = float(punteos / 3), если предположим, что x находится снаружи, имеет значение int, такое как possition. Я изменил код с новыми изменениями

 def alumno(nombre, apellido):
  print('Nombre: ', nombre, 'Apellido: ', apellido)

def promedio(a,b,c):
  promedio1 = int(a b c)/3
  #return promedio1
  print(promedio1)

nombre = input('ingrese nombre: ')
apellido = input('ingrese apellido: ')

alumno(nombre,apellido)
print()

#promedio(1,2,3)


print('Ingrese los punteos de las Materias:')
punteo = 0
materias = 5
for x in range(0, materias):
  punteos = 0
  notas = 3
  promedio1 = 0
  promedios = []
  xx = 1
  for y in range(0, notas):
    punteo = int(input("Ingrese punteo de la Materia " str(x 1) " punteo " str(y 1) ": "))
    punteos = int(punteos   punteo)
    promedio1 = float(punteos/3)
    promedios.append(promedio1)
  print('El promedio de la materia ',x 1,' es ',promedio1)
  print(promedios[x])
 

Комментарии:

1. promedios = 0 . Что это promedios[x] значит?

2. Я хочу, чтобы promedios был массивом, но сохранял значение first для

Ответ №1:

До тех пор , пока вы сделали promedios = 0 это и больше не изменяете переменную promedios перед строкой кода promedios[x] = float(punteos / 3) , promedios находится int в этой строке.

Однако выполнение promedios[x] = ... вызывает __setitem__ метод переменной promedios , который имеет тип int и, конечно же, не поддерживает такое назначение элемента.

list Кстати , такие типы, как dict назначение элементов поддержки.

Ответ №2:

Вам нужно начать с пустого списка:

 promedios = []
 

А затем добавьте к нему:

 promedios.append(float(punteos / 3))
 

Комментарии:

1. почему в моих последних предложениях покажите мне это? promedio1 = поплавок(punteos/3) promedios.добавить(promedio1) печать(‘El promedio de la materia ‘,x 1,’ es ‘,promedio1) печать(promedios[x]). El promedio de la materia 1 es 1.0 0.333333333333333, извините за мой английский

2. Почему бы и нет?

3. print(promedio1( и print(promedios[x]) должны быть 1 и 1, один и тот же результат, потому что это похоже на то, как promedios[] делил promedio1