Python實現猜年齡遊戲程式碼例項
阿新 • • 發佈:2020-03-26
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)()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。