import random words = ['chicken', 'dog', 'cat', 'mouse', 'frog'] guessTimes = 14 guessedLetters = "" def pickWord(): return random.choice(words) def play(): word = pickWord() while True: guess = getGuess(word) if processGuess(guess, word): print('You Win') break if guessTimes == 0: print("You lose") break def getGuess(word): printWordWithBlanks(word) print('剩余' + str(guessTimes)) guess = input("请输入一个字母:") return guess def processGuess(guess,word): global guessTimes global guessedLetters guessTimes = guessTimes - 1 guessedLetters = guessedLetters + guess for letter in word: if guessedLetters.find(letter) == -1: return False return True def printWordWithBlanks(word): displayWord = '' for letter in word: if guessedLetters.find(letter) > -1: displayWord = displayWord + letter else: displayWord = displayWord + '-' print(displayWord) play()

原理非常简单,一看就会,其实这串代码是我好早以前写的了,最近会运用了一些新的知识,下面讲解一下:
具体就是读取文件,然后替换掉哪个words,这样的话只需要修改words.txt就行,而不是每次修改都要修改代码
wenjian = open("words.txt", "r")
words = wenjian.read().splitlines()
wenjian.close()

open是读取这个文件(记得把他放到同一级目录下),r是只读模式
然后read是获取数据,splitlines是改为列表
close是关闭文件,如果一个文件只打开不关闭的话可能会出现不必要的问题。
try:
wenjian = open("words.txt", "r")
words = wenjian.read().splitlines()
wenjian.close()
except IOError:
print("文件words.txt并没有找到")
exit()

进阶版:进行抓取错误,毕竟说不定哪天就会把words文件当作垃圾文件删除掉了,所以要抓取一下错误。

本文作者:博主:     文章标题:python 猜单词小游戏
本文地址:https://zjzdmc.top/jsfx/34.html     
版权说明:若无注明,本文皆为“Datehoer的Blog-个人博客-技术分享”原创,转载请保留文章出处。
最后修改:2021 年 04 月 20 日 10 : 44 AM
如果觉得我的文章对你有用,请随意赞赏