1. 程式人生 > 實用技巧 >python 猜單詞小遊戲

python 猜單詞小遊戲

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猜單詞小遊戲