python文字游戏源代码求年纪_用python写了一个猜年龄小游戏

写一个猜年龄游戏:

需要实现用户登录的功能

初始用户登录信息为

{'hades': '13579','nick': '123','ruixing': 'a1','fanping': 'b2'}

登录时密码只能尝试三次

需要实现用户注册的功能

注册时要判断用户名是否存在

可能会有用户会在输入年龄之后不小心输入空格,如18 ,请做处理

可能会有用户会恶意输入导致程序报错,如逗你玩呀,请做处理

如果用户3次没有猜对,可以选择继续玩或退出(自定义退出条件)

如果用户猜对了,可以在以下奖品中选择两件奖品(一次只能选择一件奖品):

{0:'布娃娃',1:'变形金刚',2:'奥特曼',3:'《python从入门到放弃》'}

最后将用户的获奖信息统计输出

用户选择奖品后退出程序,用户也可以不选择奖品直接退出程序。

import time

import random

# 存储用户信息

user_info_dict = {'hades': '13579',

'nick': '123',

'ruixing': 'a1',

'fanping': 'b2'

}

# 注册

def register():

print(f'\n{"注册".center(50,"-")}')

# 输入用户名

while True:

user_name = input("请输入用户名>>>").strip()

if user_name in user_info_dict:

print('用户名已存在,请重新注册')

continue

# 输入密码

while True:

pwd = input('请输入你的密码>>>').strip()

pwd_again = input('请再次输入你的密码>>>')

# 判断密码是否一致

if pwd != pwd_again:

print("两次密码输入不一致,请重新输入")

continue

else:

user_info_dict[user_name] = pwd

print('正在注册', end='')

for i in range(10):

print('>', end='')

time.sleep(0.5)

print("\n注册成功")

break

break

# 登录

def login():

print(f'\n{"登录游戏".center(50,"-")}')

# 输入用户名

user_name = input('请输入用户名>>>').strip()

if user_name not in user_info_dict:

print('用户名不存在,请注册')

else:

count = 0

# 判断密码是否正确

while count < 3:

pwd = input('请输入你的密码>>>').strip()

if pwd != user_info_dict.get(user_name):

print('密码错误')

count += 1

else:

print('正在登录', end='')

for i in range(10):

print('>', end='')

time.sleep(0.5)

print('\n登录成功,载入游戏', end='')

for i in range(10):

print('>', end='')

time.sleep(1)

game()

break

if count == 3:

print('三次机会用完啦!!!')

# 发奖品

def award():

# 定义奖品

prize_dict = {0: '布娃娃',

1: '变形金刚',

2: '奥特曼',

3: ''

}

print(f'恭喜你猜对啦!你可以从如下奖品中选择两个奖品\n{prize_dict}\n')

prize_choice = input(f'是否需要奖品,需要请按"Y"/"y",否则直接退出>>>')

# 判断是否拿奖品

if prize_choice == "Y" or prize_choice == "y":

count = 0

user_prize_dict = dict()

# 用户选择奖品

while count < 2:

user_prize_choice = int(input('请输入奖品序号>>>').strip())

# 判断奖品是否存在

if user_prize_choice not in prize_dict:

print('你输入的奖品不存在,请重新选择~')

continue

prize = prize_dict[int(user_prize_choice)]

print(f"恭喜你获得了奖品--{prize}")

# 将用户的获奖信息记录下来

if user_prize_dict.get(prize):

user_prize_dict[prize] += 1

else:

user_prize_dict[prize] = 1

count += 1

print(f"恭喜你获得了奖品{user_prize_dict}!!!")

# 进入游戏

def game():

print(f'\n{"开始猜年龄游戏".center(50,"-")}\n')

age = random.randint(0,80) # 随机年龄

count = 0 # 统计玩的次数

while count < 3:

inp_age = input('请输入你猜的年龄>>>').strip() # 用户输入年龄

# 判断输入的是否是数字

if not inp_age.isdigit():

print('傻缺,输入数字知道不!!!')

continue

inp_age_int = int(inp_age)

# 核心逻辑

if inp_age_int == age:

award()

break

elif inp_age_int > age:

print('猜大了')

else:

print('猜小了')

count += 1

# 判断用户是否继续游戏

if count != 3:

continue

choice = input('菜鸡,三次机会用完喽~ \n是否还想玩,继续请按"y"/"Y",否则退出>>>').strip()

if choice == "Y" or choice == "y":

count = 0

print(f'\n{"Game Over".center(50,"-")}\n')

# 开始游戏

def run():

# print(f'{"开始游戏".center(50,"-")}\n')

while True:

function_dict = {'1': '注册',

'2': '登录',

'3': '结束'

}

function_dict1 = {'注册': register,

'登录': login,

}

choice = input(f'请选择功能{function_dict}>>>').strip()

if choice == '3':

break

else:

function_dict1[function_dict[choice]]()

if __name__ == '__main__':

run()

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值