python TypeError:“int”对象不支持python中的项分配

2024-09-26 19:02:43 发布

您现在位置:Python中文网/ 问答频道 /正文

当我将promedios[x]=float(punteos/3)放入时,如果假设x在for outside中有一个像position这样的int值,就会出现这个问题。我用新的修改修改了代码

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])

Tags: forinputdefdefloatintprintpromedio
2条回答

您需要从一个空列表开始:

promedios = []

然后在其后面附加:

promedios.append(float(punteos / 3))

只要您已经完成了promedios = 0并且不再修改代码promedios[x] = float(punteos / 3)行之前的变量promediospromedios就是该行的int

但是,执行promedios[x] = ...调用变量promedios__setitem__方法,该方法属于int类型,当然不支持此类项赋值

顺便说一句,像listdict这样的类型支持项分配

相关问题 更多 >

    热门问题