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: "))
你写道:
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