我試圖檢查給定單詞中字母重複次數的程序,但是當單詞具有同一個字母的倍數時,例如'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