каждый раз, когда вы вызываете функцию getGuessedWord
, которую вы добавляете к `word, вы не можете использовать глобальные:
secretWord = "myword"
def getGuessedWord(secretWord, lettersGuessed):
word = ""
for letter in secretWord:
if letter not in lettersGuessed:
word=word+' _'
elif letter in lettersGuessed:
word=word+' '+letter
return print(word)
getGuessedWord(secretWord,"")
getGuessedWord(secretWord,"m")
getGuessedWord(secretWord,"mwd")
Или вы можете решить эту проблему, задавая слово на постоянной длине, (не так приятно и труднее следовать) например: word='_ '*len(secretWord)
, затем вместо добавления заменить его на букву word=word[:2*i]+letter +word[2*i+1:]
Пример здесь:
secretWord = "myword"
word='_ '*len(secretWord)
def getGuessedWord(secretWord, lettersGuessed):
global word
for i, letter in enumerate(secretWord):
if letter in lettersGuessed:
word=word[:2*i]+letter +word[2*i+1:]
return print(word)
getGuessedWord(secretWord,"")
getGuessedWord(secretWord,"m")
getGuessedWord(secretWord,"w")
getGuessedWord(secretWord,"d")