Python實現(xiàn)猜年齡游戲代碼實例
更新時間:2020年03月25日 10:39:54 作者:jueyuanfengsheng
這篇文章主要介紹了Python實現(xiàn)猜年齡游戲代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
1. 在猜年齡的基礎上編寫登錄、注冊方法,并且把猜年齡游戲分函數(shù)處理,如
2. 登錄函數(shù)
3. 注冊函數(shù)
4. 猜年齡函數(shù)
5. 選擇獎品函數(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('請再次確認密碼>>>:').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('錯誤輸入次數(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('用戶名或密碼錯誤!') count += 1 def guess_age(): count = 0 print('現(xiàn)在進入猜年齡游戲環(huán)節(jié).......\n') while True: count += 1 if count == 4: print('抱歉!你三次都猜錯了!') 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('進入抽獎環(huán)節(jié).....,您共有兩次機會!\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)()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python 裝飾器實現(xiàn)DRY(不重復代碼)原則
python的裝飾器就是一種代碼簡潔的手段,在函數(shù)和方法有改動時,使得改動量最小。這篇文章給大家介紹了Python 裝飾器實現(xiàn)DRY(不重復代碼)原則,感興趣的朋友一起看看吧2018-03-03Django中數(shù)據(jù)庫的數(shù)據(jù)關系:一對一,一對多,多對多
今天小編就為大家分享一篇關于Django中數(shù)據(jù)庫的數(shù)據(jù)關系:一對一,一對多,多對多,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-10-10Pycharm安裝并配置jupyter notebook的實現(xiàn)
這篇文章主要介紹了Pycharm安裝并配置jupyter notebook的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05python爬蟲學習筆記之Beautifulsoup模塊用法詳解
這篇文章主要介紹了python爬蟲學習筆記之Beautifulsoup模塊用法,結合實例形式詳細分析了python爬蟲Beautifulsoup模塊基本功能、原理、用法及操作注意事項,需要的朋友可以參考下2020-04-04python?Pandas之DataFrame索引及選取數(shù)據(jù)
這篇文章主要介紹了python?Pandas之DataFrame索引及選取數(shù)據(jù),文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下2022-07-07