我试图检查给定单词中字母重复次数的程序,但是当单词具有同一个字母的倍数时,例如'hello'有多个'l',程序打印出一个错误,指出字符串索引超出范围,我很好奇这是为什么。 我已经看了其他线程,但我仍然好奇为什么这样。 循环底部是问题所在的位置。我很难理解为什么字符串索引超出范围
right =""
guess=""
attempts = 6
tries = 0
print("Hangman: guess letters until you can guess the word or phrase.")
print("In this game you get six tries.")
right_str = str(input("\nEnter your word: "))
#checks to see if user input is all letters or if there are none letters in the string
while right_str.isalpha()==False:
print("Error, only letters are accepted as an input")
right_str = str(input("Enter your word: "))
#displays the proper amount of unknown spaces
for i in range(0, len(right_str)):
right += "-"
print("current: " + right)
print("0 guesses so far out of 6: " + guess)
for i in range(0, 6):
guessed = str(input("Letter guessed: "))
if guessed.lower() in right_str.lower():
for i in range(0, len(right_str)):
if right_str[i] in guessed:
right = right[:i] + guessed[i] + right[i + 1:]
print(right)
这是否意味着它只会取代信件的首次出现/索引? – Veyronvenom1200
这意味着你不能索引超过索引0的字符,所以大多数情况下你会超出索引。 – synchronizer
那么,我应该删除它? – Veyronvenom1200