python猜單詞游戲的實(shí)現(xiàn)
1.游戲思路和流程圖
實(shí)現(xiàn)功能:隨機(jī)一個(gè)單詞讓玩家猜測(后續(xù)難度實(shí)現(xiàn)修改為成語填空,成語必須要有提示,可修改猜的次數(shù),增加連續(xù)猜成語,難度系數(shù)隨著次數(shù)的增加而增加)
游戲流程圖

2. 單詞庫和模塊
import random word='''and away big blue can come down find for funny go''' word_list=word.split()
3. 游戲開始提示
def game_info():
'''游戲開始提示函數(shù)'''
print('歡迎來到猜單詞')
print('游戲提示:你有9次猜單詞的機(jī)會(huì),一次只能猜一個(gè)字母')
4. 重新開始游戲輸入驗(yàn)證
def Double_choice(a,b,hint): ? ? '''雙選擇驗(yàn)證函數(shù) ? ? :param a 第一個(gè)選項(xiàng)值 ? ? :param b 第二個(gè)選項(xiàng)值 ? ? :param hint 選項(xiàng)信息 ? ? :return 返回輸入值''' ? ? choice='' ? ? while choice.lower() !=a and choice.lower() !=b: ? ? ? ? print(hint) ? ? ? ? choice=input() ? ? return choice
5. 用戶輸入驗(yàn)證
def letter_limited(letter,right_letter_list):
'''字母輸入約束條件
:param letter 用戶輸入單詞
:param right_letter_list 用戶猜中單詞列表
:return 返回 用戶輸入單詞'''
while True:
if len(letter) !=1:
print('請(qǐng)輸入一個(gè)字母')
elif letter in right_letter_list:
print('這個(gè)字母猜過了,請(qǐng)重新猜一個(gè)字母')
elif letter not in 'abcdefghijklmnopqrstuvwxyz':
print('請(qǐng)輸入英文字母')
else:
break
letter=input()
return letter.lower()
6. 猜詞判斷(游戲核心)
def word_handle(user_letter,guess_letter_list,right_letter_list): ? ? '''字母判斷 ? ? :param user_letter 用戶輸入字母 ? ? :param guess_letter_list 需要猜測的字母列表 ? ? :param right_letter_list 用戶猜中的字母列表 ? ? :return 返回用戶猜中的字母列表''' ? ? for i in range(len(guess_letter_list)): ? ? ? ? if user_letter == guess_letter_list[i].lower(): ? ? ? ? ? ? right_letter_list[i]=guess_letter_list[i] ? ? return right_letter_list
7. 游戲完成度提示
def game_content_hint(guess_letter_list):
? ? '''游戲界面函數(shù)'''
? ? print('單詞完成度:%s'%' '.join(guess_letter_list))8. 游戲核心外殼
def game_start():
'''游戲開始函數(shù)'''
guess_word=random.choice(word_list)
guess_letter_list=list(guess_word) #猜單詞的列表
right_letter_list=['_'for i in guess_letter_list] #用戶看見的單詞列表
count=9 #猜取的次數(shù)
while count:
game_content_hint(right_letter_list)
print('猜單詞中的字母(剩余機(jī)會(huì)%d)'%count)
user_letter=letter_limited(input(),right_letter_list)
# print(user_letter)
right_letter_list=word_handle(user_letter,guess_letter_list,right_letter_list)
# print(right_letter_list)
if right_letter_list == guess_letter_list:
break
count -= 1
if right_letter_list == guess_letter_list:
print('恭喜你猜中了全部字母,這個(gè)單詞是%s'%guess_word)
else:
print('你的機(jī)會(huì)用光了也沒猜中,這個(gè)單詞是%s' %(guess_word))
9. 游戲外殼(重新開始游戲)
def game_shell():
'''外殼程序'''
game_info() # 游戲開始提示
game_start()
while True:
message='你想在玩一次嗎(Y or N)'
again_flag=Double_choice('y','n',message)
if again_flag=='n':
break
game_start()
10. 運(yùn)行游戲
game_shell()
到此這篇關(guān)于python猜單詞游戲的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python猜單詞內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)時(shí)鐘顯示效果思路詳解
這篇文章主要介紹了Python實(shí)現(xiàn)時(shí)鐘顯示,需要的朋友可以參考下2018-04-04
使用pyecharts在jupyter notebook上繪圖
這篇文章主要介紹了使用pyecharts在jupyter notebook上繪圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2017-07-07
pytest解讀fixtures之Teardown處理yield和addfinalizer方案
這篇文章主要為大家介紹了pytest解讀fixtures之Teardown處理yield和addfinalizer的方案實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Python中的Joblib庫使用學(xué)習(xí)總結(jié)
這篇文章主要介紹了Python中的Joblib庫使用學(xué)習(xí)總結(jié),Joblib是一組在Python中提供輕量級(jí)流水線的工具,Joblib已被優(yōu)化得很快速,很健壯了,特別是在大數(shù)據(jù)上,并對(duì)numpy數(shù)組進(jìn)行了特定的優(yōu)化,需要的朋友可以參考下2023-08-08
Python教程通過公共鍵對(duì)不同字典進(jìn)行排序示例詳解
本篇文章是Python教程基礎(chǔ)篇,通過一些示例為大家講解Python通過公共鍵對(duì)不同字典進(jìn)行排序的方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-09-09
pandas pd.cut()與pd.qcut()的具體實(shí)現(xiàn)
本文主要介紹了pandas pd.cut()與pd.qcut()的具體實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

