Ich versuche ein Wort Ratespiel zu machen. Alles funktioniert bis auf den letzten if-Anweisungsteil. Wenn der Benutzer den Namen richtig rät, wird "Gewonnen!" Nicht gedruckt. Wenn dies nicht der Fall ist, wird else-Anweisung ausgeführt und "Lost!" Wird gedruckt. Warum das? Ich habe es viele Male überprüft, aber ich konnte keinen Fehler finden.Warum wird diese if-Anweisung nicht ausgeführt?
Hinweis: Ich benutze 3.6 Python
import random
def get_random_word():
words = ["Ronnie", "Deskty", "Lorrie"]
word = words[random.randint(0, len(words)-1)]
return word
def show_word(word):
for character in word:
print(character, " ", end="")
print("")
def get_guess():
print("Enter a letter: ")
return input()
def process_letter(letter, secret_word, blanked_word):
result = False
for i in range(0, len(secret_word)):
if secret_word[i] == letter:
result = True
blanked_word[i] = letter
return result
def print_strikes(number_of_strikes):
for i in range(0, number_of_strikes):
print("X ", end="")
print("")
def play_word_game():
strikes = 0
max_strikes = 3
playing = True
word = get_random_word()
blanked_word = list("_" * len(word))
while playing:
show_word(blanked_word)
letter = get_guess()
found = process_letter(letter, word, blanked_word)
if not found:
strikes += 1
print_strikes(strikes)
if strikes >= max_strikes:
playing = False
if not "_" in blanked_word:
playıng = False
if strikes >= max_strikes:
print("Lost")
else:
print("Won")
print("Game started")
play_word_game()
print("Game over")
Nun, drucken Sie den Wert von 'Streiks' vor dem 'if' ... –
Hinweis: Sie können [' random.choice (Wörter) '] (https://docs.python.org/3/library /random.html#random.choice) über 'words [random.randint (0, len (worts) -1)]', um einen zufälligen Wert aus einer Liste zu erhalten – cat