Python hangman小遊戲
阿新 • • 發佈:2019-05-11
ext 隨機 以及 使用 pic welcom 選擇 boa color
hangman
# words.py 使用pickle永久性存儲數據 import pickle filename = ‘words.pk‘ data = [‘cat‘, ‘dog‘, ‘perro‘, ‘gato‘, ‘horse‘, ‘elephant‘, ‘mono‘] with open(filename, ‘wb‘) as f: pickle.dump(data, f)
# hangman.py 猜詞遊戲 # 使用pickle導入數據 import pickle # 使用random.choice函數在序列中隨機選擇 importrandom def hangman(word): # 傳入一個參數(word) # 錯誤數量 wrong = 0 # 要畫的步驟 stages = ["", "______ ", "| | ", "| | ", "| 0 ", "| /|\ ", "| / \ ", "| ", ] # 將詞轉換為一個列表rletters = list(word) # 生成一個下劃線的待猜列表 board = ["_"] * len(word) # 未贏 win = False print(‘Welcome to Hangman‘) # 如果畫還沒畫完 while wrong < len(stages) - 1: print(‘\n‘) # 猜一個字母 msg = ‘Guess a letter: ‘ char = input(msg)# 如果字母在列表中 if char in rletters: # 將列表中的字母剔除(‘$‘),並在待猜列表中添加字母 cind = rletters.index(char) board[cind] = char rletters[cind] = ‘$‘ # 如果字母不在列表中 else: # 錯誤+1 wrong += 1 # 顯示待猜列表 print(‘word: ‘ + (" ".join(board))) # 打印圖畫 e = wrong + 1 print(‘\n‘.join(stages[0:e])) # 如果待猜列表中以及沒有下劃線了,贏了 if ‘_‘ not in board: print(‘You win!‘) print(‘ ‘.join(board)) win = True break # 如果輸了 if not win: print(‘You lose! It was {}‘.format(word)) def random_word(filename=‘words.pk‘): with open(filename, ‘rb‘) as f: data = pickle.load(f) return random.choice(data) if __name__ == ‘__main__‘: while True: hangman(random_word()) flag = input(‘Do you want to continue?(Y/N) ‘) if flag.lower() not in [‘y‘, ‘yes‘]: break
Python hangman小遊戲