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("现在进入猜年龄游戏环节.......

")

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("恭喜你!猜对了!

")

choice_prize()

break

def choice_prize():

count = 1

print("进入抽奖环节.....,您共有两次机会!

奖品如下:")

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}次机会!

")

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值