我不知道为什么它说“int object不支持item assignament”

时间:2017-08-05 23:11:41

标签: python-3.x

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: "))

1 个答案:

答案 0 :(得分:1)

你写道:

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