python猜年龄猜三次_Python实现猜年龄游戏代码实例

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)()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持w3xue。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值