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 :(得分: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