在猜年龄的基础上编写登录、注册方法,并且把猜年龄游戏分函数处理

  1. 登录函数

  2. 注册函数

  3. 猜年龄函数

  4. 选择奖品函数

# 注册
def register():
'''注册'''
count = 0
while count < 3:
name_inp = input('请输入用户名: ')
pwd_inp = input('请输入密码: ')
re_pwd_inp = input('再次输入以确认: ')
if pwd_inp == re_pwd_inp:
with open('user_info', 'a', encoding='utf-8') as fa:
fa.write(f'{name_inp}:{pwd_inp}\n')
print('注册成功')
break else:
print('两次密码输入不一致')
count += 1 # 登录
def login():
'''登录'''
count = 0
while count < 3:
name_inp = input('请输入用户名: ')
pwd_inp = input('请输入密码: ') with open('user_info', 'r', encoding='utf-8') as fr:
for i in fr:
print(i)
name, pwd = i.split(':') if name_inp == name.strip() and pwd_inp == pwd.strip():
print('登录成功')
count = 3
break else:
print('密码或用户名错误')
count += 1 # 猜年龄
def guess_age():
'''猜年龄游戏''' age_count = 0
age = 18 while age_count < 3:
age_inp = input('请输入你猜的年龄:')
if not age_inp.isdigit():
print('输入错误')
continue age_inp_int = int(age_inp)
if age_inp_int > age:
print('猜大了')
elif age_inp_int < age:
print('猜小了')
else:
print('猜对了')
print('获得两次选择奖品的机会哦')
award()
break age_count += 1 # 选奖品
def award():
'''选奖品'''
award_dict = {
'0': '马云',
'1': '马化腾',
'2': '马冬梅',
}
print(award_dict) choice_count = 0 # 计数
choice_dic = {} while choice_count < 2: choice = input('请输入奖品编号: ')
award = award_dict[choice]
print(f'你选择的奖品是: {award}') # 保存用户选择信息
if award in choice_dic:
choice_dic[award_dict[choice]] += 1
else:
choice_dic[award_dict[choice]] = 1
print(f'已选奖品为: {choice_dic}')
choice_count += 1 print(f'你的奖品为: {choice_dic}') # 开始游戏
def play():
'''开始游戏'''
register()
login()
guess_age() play()

Python3 猜年龄小游戏进阶之函数处理的更多相关文章

  1. 初识python: while循环 猜年龄小游戏

    知识点: 1.python注释方法: 单行注释: # 多行注释: '''注释内容 '''  (单引号或双引号都可以),亦可打印多行 例: #此处是单行注释信息 print('这里是打印内容') #这里 ...

  2. 用python写了一个猜年龄小游戏

    写一个猜年龄游戏: 需要实现用户登录的功能 初始用户登录信息为 {'hades': '13579','nick': '123','ruixing': 'a1','fanping': 'b2'} 登录时 ...

  3. [Python3 练习] 007 简单的猜数字小游戏

    题目:简单的猜数字小游戏 (1) 描述 程序随机生成一个数字,玩家用键盘输入所猜数字,在规定次数内猜对为胜. (2) 要求 程序随机生成一个 1 到 100 的自然数 有 7 次机会去猜 机会用尽之前 ...

  4. 关于切片/截取(slice)和random模块的使用(实例:猜单词小游戏)

    切片和random的使用在源码中都有注释(可以直接下载):https://github.com/NoobZeng/GuessWords 1. README.MD 基于Python的猜单词游戏 猜单词小 ...

  5. Demo_2:Qt实现猜字小游戏

    1  环境 系统:windows 10 代码编写运行环境:Qt Creator 4.4.1 (community) Github: 2  简介 参考视频:https://www.bilibili.co ...

  6. day06-java-(方法,猜字符小游戏)

    day05-java-(方法,猜字符小游戏) 1.方法:  1)用于封装一段特定的逻辑功能  2)方法应尽可能的独立,只干一件事  3)方法可以被反复的调用多次  4)避免代码重复,有利于代码的维护, ...

  7. Java基础知识强化之IO流笔记70:Properties练习之 如何让猜数字小游戏只能玩5次的案例

    1. 使用Properties完成猜数字小游戏只能玩5次的案例: 2. 代码实现: (1)猜数字游戏GuessNumber: package cn.itcast_08; import java.uti ...

  8. java猜数字小游戏

    /* * * 猜数字小游戏 * * 先由系统生成一个2-100之间的随机数字, * * 然后捕获用户从控制台中输入的数字是否与系统生成的随机数字相同, * * 如果相同则统计用户所猜的次数,并给出相应 ...

  9. 简单的C语言猜数字小游戏

    猜数字小游戏可谓是C语言最为基础的一个知识点了,我们可以在此基础上进行延伸,实现随机数的猜测,然后是加入再来一局的模式,等等.这里是抛砖引玉,希望你能做出你的经典之作. #include <st ...

随机推荐

  1. nyoj 100-1的个数 (因为只统计1的个数,连栈都不需要了)

    100-1的个数 内存限制:64MB 时间限制:3000ms 特判: No 通过数:33 提交数:42 难度:1 题目描述: 小南刚学了二进制,他想知道一个数的二进制表示中有多少个1,你能帮他写一个程 ...

  2. JavaWeb核心知识点

    一:HTTP协议     一.概述 1. 概念:超文本传输协议 2. 作用:规范了客户端(浏览器)和服务器的数据交互格式 3. 特点 1. 简单快速:客户端向服务器请求服务时,仅通过键值对来传输请求方 ...

  3. 领扣(LeetCode)第三大的数 个人题解

    给定一个非空数组,返回此数组中第三大的数.如果不存在,则返回数组中最大的数.要求算法时间复杂度必须是O(n). 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2 ...

  4. Yum —— CentOS 下包管理工具 学习笔记

    环境:CentOS 7 (阿里云服务器) 一.linux 发行版下的包管理阵营 包管理系统 除了方便你安装和管理包之外,还能帮你解决依赖问题. 下面就介绍2个最主要的: 1.Debian 系 - dp ...

  5. 20191107-10 beta发布

    此作业要求参见https://edu.cnblogs.com/campus/nenu/2019fall/homework/9962 1.视频地址:https://v.youku.com/v_show/ ...

  6. 三维目标检测论文阅读:Deep Continuous Fusion for Multi-Sensor 3D Object Detection

    题目:Deep Continuous Fusion for Multi-Sensor 3D Object Detection 来自:Uber: Ming Liang Note: 没有代码,主要看思想吧 ...

  7. 04_seaborn基本使用

    1.seaborn设置整体风格 seaborn提供5中主题风格: darkgrid whitegrid dark white ticks 主要通过set()和set_style()两个函数对整体风格进 ...

  8. Spring(Bean)5

    spel <bean id="address" class="com.atguigu.spring.beans.spel.Address"> < ...

  9. 【Android - 控件】之V - SwipeRefreshLayout的使用

    SwipeRefreshLayout是Android V4.V7包中的一个控件,是Google给我们提供的一个下拉刷新的布局控件,可以轻松完成下拉刷新. SwipeRefreshLayout的特点是其 ...

  10. 深入理解inode和硬链接和软连接和挂载点

    inode 一.inode是什么? 理解inode,要从文件储存说起. 扇区 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5 ...