我不知道为什么它说"int object does not support item assignament"


print ("Tienes que adivinar el codigo de", cant_digitos, "digitos distintos")
propuesta = int(input("Ingrese una propuesta: "))
intentos = 1
while propuesta != codigo:
intentos = intentos + 1
aciertos = 0
coincidencias = 0
for propuesta[i] in range(cant_digitos):
if propuesta[i] == codigo[i]:
aciertos = aciertos + 1
elif propuesta[i] in codigo:
coincidencias = coincidencias + 1
print ("Tu propuesta (", propuesta,") tiene ", aciertos, 
"aciertos y ", coincidencias, "coincidencias")
propuesta = int(input("Ingrese otra propuesta: "))

你写道:

for propuesta[i] in range(cant_digitos):
# ...

propuesta是一个整数。不能分配给整数的元素。例如,2[0]也不会工作。

稍后在代码中编写:

if propuesta[i] == codigo[i]:
# ...

这又是无效的:你不能从数字中获取元素(因为它不是数字的集合,至少在 Python 中不是(。

您希望它返回/分配什么?如果您在第i位数字之后,您可以使用:

# equivalent to propuesta[i]
(propuesta//(10**i))%10

获取数字,并且:

# equivalent to propuesta[i] = val (given 0 <= val <= 9)
propuesta += (val-((propuesta//(10**i))%10))*10**i

相关内容

最新更新