このプログラムでは、単語に同じ文字の倍数があると、指定された単語の文字の反復を確認しようとしています。たとえば '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