Python實(shí)現(xiàn)猜年齡游戲代碼實(shí)例
1. 在猜年齡的基礎(chǔ)上編寫登錄、注冊方法,并且把猜年齡游戲分函數(shù)處理,如
2. 登錄函數(shù)
3. 注冊函數(shù)
4. 猜年齡函數(shù)
5. 選擇獎(jiǎng)品函數(shù)
代碼如下
import json
real_age = 18
prize_list = ['好迪洗發(fā)水', '綠箭俠', '小豬佩奇', '布娃娃', '再來一次!']
import random
user_prize_dict = {}
import os
def register():
while True:
username = input('輸入用戶名>>>(q退出):').strip().lower()
if username=='q':break
password = input('請輸入密碼>>>:').strip()
re_password = input('請?jiān)俅未_認(rèn)密碼>>>:').strip()
if not password == re_password:
print('密碼不一致,請重輸!')
continue
user_dic = {'name': username, 'password': password}
json_user_dic = json.dumps(user_dic)
with open(f"{username}.txt", 'w', encoding='utf-8')as f:
f.write(json_user_dic)
f.flush()
print('注冊成功!')
break
def login():
count = 0
while True:
if count == 3:
print('錯(cuò)誤輸入次數(shù)過多!')
break
username = input('請輸入用戶名>>>:').strip()
if not os.path.exists(username + '.txt'):
print('該用戶不存在!')
continue
password = input('請輸入密碼>>>:').strip()
with open(f"{username}.txt", 'r', encoding='utf-8') as f:
user_json_dic = f.read()
user_dic = json.loads(user_json_dic)
if username == user_dic['name'] and password == user_dic['password']:
print('登錄成功!')
guess_age()
break
else:
print('用戶名或密碼錯(cuò)誤!')
count += 1
def guess_age():
count = 0
print('現(xiàn)在進(jìn)入猜年齡游戲環(huán)節(jié).......\n')
while True:
count += 1
if count == 4:
print('抱歉!你三次都猜錯(cuò)了!')
again_guess_age = input('請問是否要繼續(xù)猜3次(y繼續(xù),n退出)>>>:').strip().lower()
if again_guess_age == 'y':
count = 0
continue
break
age = input('請輸入你的年齡>>>:').strip()
if not age.isdigit():
print('請輸入純數(shù)字!')
continue
age = int(age)
if age > real_age:
print('猜大了!')
elif age < real_age:
print('猜小了!')
else:
print('恭喜你!猜對了!\n')
choice_prize()
break
def choice_prize():
count = 1
print('進(jìn)入抽獎(jiǎng)環(huán)節(jié).....,您共有兩次機(jī)會!\n 獎(jiǎng)品如下:')
while True:
for index, prize in enumerate(prize_list, 1):
print(index, prize)
choice = input('請按下按鈕y隨機(jī)選擇獎(jiǎng)品>>>:').strip().lower()
if not choice == 'y':
print('非法輸入!')
continue
prize_choice = random.randint(1, 15)
if prize_choice in [6, 7, 8]:
prize_choice = 4
elif prize_choice in [9, 10, 11, 12, 13, 14, 15]:
prize_choice = 5
prize = prize_list[prize_choice - 1]
if prize in user_prize_dict:
user_prize_dict[prize] += 1
else:
user_prize_dict[prize] = 1
print(f'本次獲得獎(jiǎng)品為:{prize},您還有{2-count}次機(jī)會!\n')
if count == 2:
if user_prize_dict.get('再來一次!'):
user_prize_dict.pop('再來一次!')
print(f'總共獲得的獎(jiǎng)品為:{user_prize_dict}')
break
count += 1
user_func_dic = {
'1': register,
'2': login,
}
while True:
print('''
先注冊,登陸后才能玩猜年齡游戲哦!
1. 注冊
2. 登錄
'''
)
choice = input('請選擇功能編號(q退出)>>>:').strip().lower()
if choice == 'q' : break
if not choice in user_func_dic:
print('錯(cuò)誤輸入')
continue
user_func_dic.get(choice)()
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python填充任意顏色,不同算法時(shí)間差異分析說明
這篇文章主要介紹了Python填充任意顏色,不同算法時(shí)間差異分析說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python 裝飾器實(shí)現(xiàn)DRY(不重復(fù)代碼)原則
python的裝飾器就是一種代碼簡潔的手段,在函數(shù)和方法有改動(dòng)時(shí),使得改動(dòng)量最小。這篇文章給大家介紹了Python 裝飾器實(shí)現(xiàn)DRY(不重復(fù)代碼)原則,感興趣的朋友一起看看吧2018-03-03
Django中數(shù)據(jù)庫的數(shù)據(jù)關(guān)系:一對一,一對多,多對多
今天小編就為大家分享一篇關(guān)于Django中數(shù)據(jù)庫的數(shù)據(jù)關(guān)系:一對一,一對多,多對多,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-10-10
Pycharm安裝并配置jupyter notebook的實(shí)現(xiàn)
這篇文章主要介紹了Pycharm安裝并配置jupyter notebook的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
python爬蟲學(xué)習(xí)筆記之Beautifulsoup模塊用法詳解
這篇文章主要介紹了python爬蟲學(xué)習(xí)筆記之Beautifulsoup模塊用法,結(jié)合實(shí)例形式詳細(xì)分析了python爬蟲Beautifulsoup模塊基本功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
python?Pandas之DataFrame索引及選取數(shù)據(jù)
這篇文章主要介紹了python?Pandas之DataFrame索引及選取數(shù)據(jù),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-07-07

