2017-08-05 66 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

如何向我發送圖片? –

相關問題