2017-08-05 19 views
0
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: ")) 
+0

因为它是一个'int'并尝试建立索引呢? –

+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 
+0

我不明白:“v –

+0

@PageMario:请先更新您的问题,并说明您的实际目标是通过您的代码实现什么目标。 –

+0

如何向我发送图片? –

相关问题