1. 在猜年齡的基礎上編寫登錄、注冊方法,并且把猜年齡游戲分函數處理,如
2. 登錄函數
3. 注冊函數
4. 猜年齡函數
5. 選擇獎品函數
代碼如下
import json
real_age = 18
prize_list = ['好迪洗發水', '綠箭俠', '小豬佩奇', '布娃娃', '再來一次!']
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('請再次確認密碼>>>:').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('錯誤輸入次數過多!')
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('用戶名或密碼錯誤!')
count += 1
def guess_age():
count = 0
print('現在進入猜年齡游戲環節.......\n')
while True:
count += 1
if count == 4:
print('抱歉!你三次都猜錯了!')
again_guess_age = input('請問是否要繼續猜3次(y繼續,n退出)>>>:').strip().lower()
if again_guess_age == 'y':
count = 0
continue
break
age = input('請輸入你的年齡>>>:').strip()
if not age.isdigit():
print('請輸入純數字!')
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('進入抽獎環節.....,您共有兩次機會!\n 獎品如下:')
while True:
for index, prize in enumerate(prize_list, 1):
print(index, prize)
choice = input('請按下按鈕y隨機選擇獎品>>>:').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'本次獲得獎品為:{prize},您還有{2-count}次機會!\n')
if count == 2:
if user_prize_dict.get('再來一次!'):
user_prize_dict.pop('再來一次!')
print(f'總共獲得的獎品為:{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('錯誤輸入')
continue
user_func_dic.get(choice)()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。
本文標題: Python實現猜年齡游戲代碼實例
本文地址: http://www.cppcns.com/jiaoben/python/303789.html