我尝试使用函数转换代码。由于此编码尚未完成,但我设法使代码运行良好。唯一的事情是,每当我猜到一封信时,它都会重置我以前的记录。我如何存储我以前的猜测结果,并在字母正确猜出的情况下继续添加?
import random
def chooseAword(wordList):
correct_word = random.choice(wordList)
return correct_word
#def spelltheword(word)
def guessAletter(guessedletter):
word = guessedletter
guess = input('Guess a letter: ')
letter = ''.join(x if x in guess else '-' for x in word)
if guess in word:
print("So far you have: ", letter)
else:
print("So far you have: ", letter)
return letter
def playAgame(wordList):
word = chooseAword(wordList)
for n in range(5):
guessletter = guessAletter(word)
def main():
wordList = ('python', 'csharp','java','oracle')
playAgame(wordList)
main()
答案 0 :(得分:1)
否,它不会重置您以前的记录:您没有没有以前的记录。每次对guessAletter
的呼叫都非常明确地将连字符放在当前猜测的字母不是的任何位置。
是的,您返回连字符和正确字母的单词(由于某种原因而命名为letter
),但是调用程序playAgame
将其放入局部变量guessletter
(另一个具有误导性的名称),然后再也不会使用它。
我有几个建议:
word
并没有告诉我们太多;我们不知道这是我们应该猜到的字眼,还是显示给用户的当前游戏进度,还是其他。最糟糕的情况是,您将guessedLetter
用于不是单个字母也不是猜测的内容。