Python 3.x 我不知道';我不知道它为什么说;int对象不支持项赋值;

Python 3.x 我不知道';我不知道它为什么说;int对象不支持项赋值;,python-3.x,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 p

你写道:

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: "))
propuesta
是一个整数。不能指定给整数的元素。例如,
2[0]
也不起作用

稍后在代码中编写:

for propuesta[i] in range(cant_digitos):
   # ...
这也是无效的:您无法从数字中获取元素(因为它不是数字的集合,至少在Python中不是)

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

if propuesta[i] == codigo[i]:
    # ...
要获取数字,请执行以下操作:

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

#相当于propuesta[i]=val(给定0,因为它是
int
,您尝试对其进行索引…请提供回溯…我不明白:"v@PageMario:请首先更新您的问题,并解释您的代码实际要实现的目标。我如何向您发送图片?@PageMario:事情不是这样的。为什么写三行来解释输入应该如何映射到输出上如此困难?对不起,我不知道这一点
# equivalent to propuesta[i] = val (given 0 <= val <= 9)
propuesta += (val-((propuesta//(10**i))%10))*10**i