繁体   English   中英

比较不同字符串的字符时出现问题,IndexError: string index out of range

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM