[英]Problem when comparing characters of differnt strings, IndexError: string index out of range
我正在尝试比较两个字符串,比较每个字符,以便相同位置的共同字符数,终端将返回的点越多。
这是代码:
resultado=input('Resultado correcto: ')
apuesta=input('Apuestas: ')
puntos=0
contador=0
while contador <= len(resultado):
if resultado[contador] == apuesta[contador]:
puntos = puntos +1
else:
puntos = puntos
contador+=1
print(puntos)
但是当我运行程序时,它给了我下一个错误:
if resultado[contador] == apuesta[contador]:
IndexError: string index out of range
我不知道出了什么问题,但我想这与计数器和字符数有关。 值得注意的是,两个输入具有相同数量的字符,例如 Hello 和 Hello 。
索引contador
应该小于字符串的长度,您可以使用:
while contador < len(resultado):
这是因为索引从0
开始
要比较来自相同 position 的字符串中的字符并获得相同字符的总数,您还可以使用内置的 function sum
和生成器表达式:
puntos = sum(a == b for a, b in zip(resultado, apuesta))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.