溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python如何實現(xiàn)猜年齡游戲示例

發(fā)布時間:2021-03-23 09:34:22 來源:億速云 閱讀:192 作者:小新 欄目:開發(fā)技術(shù)

這篇文章將為大家詳細講解有關(guān)Python如何實現(xiàn)猜年齡游戲示例,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Python實現(xiàn)猜年齡游戲示例

1. 在猜年齡的基礎(chǔ)上編寫登錄、注冊方法,并且把猜年齡游戲分函數(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)()

關(guān)于“Python如何實現(xiàn)猜年齡游戲示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI