python基本案例实现
案例一:test.txt文件中与输入的用户进行认证,超过3次用户被锁定,且把用户加入锁定的lock.txt文件中。
# 需求点:
# 1.输入用户名、密码
# 2.认证成功后显示欢迎信息
# 3.输错三次后锁定,且写入lock.txt文件;存放用户名、密码的test.txt文件. # 实现思路:
# 1.判断用户是否锁定
# 2.判断用户是否存在
# 3.判断账号、密码是否正确,如果正确,显示登陆进去,如果不正确三次输入密码机会,三次错误,账号锁定
#获取被锁住的文件
with open("lock.txt",'r') as f:
lock_user = f.readlines()
#获取用户名、密码
with open('test.txt','r') as f:
user =f.readlines()
#定义列表用于存放被锁住的用户和已存在的用户
name_pass=[]
user_name=[]
#列表包含被锁住的值
for i in range(lock_user.__len__()):
name_pass.append(lock_user[i].strip('\n').split(','))
#列表包含用户名,用于判断用户名是否存在
for i in range(user.__len__()):
user_name.append(user[i].strip('\n').split(','))
#判断输入的用户是否存在锁住的用户中
_username = input("请输入您的用户名:")
count = 0
if _username in name_pass[0]:
print("%s已经被锁定"%_username)
else:
if _username in user_name[0]:
while count < 3:
_password = input("请输入您的密码:")
if user_name[count][1]==_password and user_name[count][0] == _username:
print("欢迎%s登录成功"%user_name[count][0])
break
else:
print("密码错误,请重新输入")
count += 1
else:
print("您输入的内容已经被锁定")
with open('lock.txt','a+') as f2:
f2.write(_username)
登录注册程序
PS:文件读取出来的值类型都是list(列表),用户input输入的值都是str(字符串)
案例二:购物车程序
#1.启动程序后,让用户输入工资,然后打印商品列表
#2.允许用户根据商品编号购买商品
#3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒
#4.可随时退出,退出时,打印已购买商品和余额
product_list =[
("Bike", 800),
("apple", 5000),
("watch", 2000),
("Mac apple", 12000),
("iphone", 8000)
]
shopping_list =[]
salary =input("请输入工资:")
if salary.isdigit():
salary =int(salary)
while True:
for index, item in enumerate(product_list):
print(index, item)
user_choice = input("请输入商品编号:")
if user_choice.isdigit():
user_choice =int(user_choice)
if user_choice <len(product_list) and user_choice >=0:
p_item =product_list[user_choice]
if salary >= p_item[1]:
shopping_list.append(p_item)
salary-=p_item[1]
print("你买到的商品为%s,余额为%s"%(shopping_list,salary))
else:
print("余额不足")
exit()
else:
print("商品列表不存在这个编号")
elif user_choice == 'q':
for i in shopping_list:
print(i)
print("您当前还剩余的余额为%s"%salary)
exit()
else:
print("无效的输入")
exit()
else:
print("输入的商品编号无效")
购物车程序
案例三:多级菜单
# 三级菜单
# # 可一次选择进入各子菜单
# # 所需知识点:列表、字典
data={
'广东省':{
"广州":{
"越秀区":["越秀公园","五羊花灯"],
"白云区":["白云山","白云机场"],
"海珠区":["海珠名校","海珠学区房"]
},
"佛山":{
"顺德区":["美的","海尔"],
"千灯湖区":["景点","开发区"]
}
},
'四川省':{
"成都":{
"城区一区":["锦里","宽窄巷子"],
"城区二 区":{"熊猫基地","武侯祠"},
"城区三区":["博物馆","金沙图书馆"],
},
"绵阳":{
"绵阳一区":["绵阳房子","绵阳学校"],
"绵阳二 区":["绵阳1","绵阳2"],
}
}
}
exit_flag = False
while not exit_flag:
for i in data:
print(i) choice = input("请输入第一级菜单:")
if choice in data:
while not exit_flag:
for i2 in data[choice]:
print(i2) choice1 = input("请输入第二级菜单:") if choice1 in data[choice]:
while not exit_flag:
for i3 in data[choice][choice1]:
print(i3)
choice2 = input("请输入第三级菜单:")
if choice2 in data[choice][choice1]:
for i4 in data[choice][choice1][choice2]:
print(i4)
choice3 = input("请输入退出菜单:")
if choice2 =='q':
break
if choice1 == 'q':
break
if choice == 'q':
break
三级菜单
python基本案例实现的更多相关文章
- ArcGIS Python编程案例-电子资料链接
ArcGIS Python编程案例(1)-Python语言基础 https://www.jianshu.com/p/dd90816d019b ArcGIS Python编程案例(2)-使用ArcPy编 ...
- Python入门(案例)
Python入门(案例) #一.上课案例: #输出hello wordprint('hello word') #python注释有两种#1.单行注释#这是单行注释#2.多行注释'''这是多行注释''' ...
- Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
- python项目案例
python项目案例1:----此学习案例用python3编写,摘自明日科技,感谢! 学生管理系统: 功能描述:具有增删改查,排序,保存并显示学生的全部信息. 1.主界面---函数menu(),显示功 ...
- Python学习案例之Web版语音合成播报
前言 语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速.音调.音量设置,打破传统文字式人机交互的方式,让人机沟通更自然. 应用场景 将游戏场景中的公告.任务或派单信息通过语音 ...
- Python学习案例之视频人脸检测识别
前言 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统.人脸动态跟踪识别系统等等. 案例 这里我们还是使用 opencv 中 ...
- 【菜鸟学Python】案例一:汇率换算
汇率换算V1.0 案例描述: 设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反 案例分析: 分析问题:分析问题的计算部分: 确定问题:将问题划分为输入.处理及输出部分: 设计算法:计算部分 ...
- python经典案例
前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰.本文总结了一些初学者在学习python时做的经典案例 一.名片管理系统(限单个名片) info = {'name':'jam ...
- python实战案例--银行系统
stay hungry, stay foolish.求知若饥,虚心若愚. 今天和大家分享一个python的实战案例,很多人在学习过程中都希望通过一些案例来试一下,也给自己一点动力.那么下面介绍一下这次 ...
- 查找算法:二分法查找及其python实现案例
承接上一篇:查找:顺序查找与二分法查找,将二分法更多详细的python实现解题写下笔记. 简单方法 ''' 二分法查找在列表中的用户输入值,返回index 三种情况跳出循环体: LR相邻 LR位置重合 ...
随机推荐
- 第一次本地代码提交到github
1.在个github上创建一个库 2.创建成功后,可以看到自己的仓库地址 3.在本地新建一个文件夹,并通过个git clone将仓库克隆到本地,并进入文件夹下 4.将需要提交的代码放入文件下,然后在终 ...
- Docker - 解决容器内获取的时间和主机的时间不一样的问题
问题背景 分别在容器和主机下执行 date 命令 可以看到,时间是完全不一样的 解决方案 在运行容器时,挂载 /etc/localtime 目录 docker run -d -v /etc/loca ...
- Kafka 消费者及消费者分区策略
消费方式: consumer 采用 pull(拉)模式从 broker 中读取数据. push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的. 它的目标是尽可能以最 ...
- 13Linux之磁盘管理
13Linux之磁盘管理 目录 13Linux之磁盘管理 13 磁盘管理 13.1 两种分区格式 13.1.1 磁盘命名 13.1.2 mbr 13.1.3 gpt 13.2 制作文件系统并且挂载 1 ...
- Python_迭代器与生成器
迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...
- CSS opacity设置不透明度
1.opacity设置不透明度 opacity会将含有这个属性的子类都变成具有opacity属性,可以改变元素.元素内容.字标签的不透明度.而rgba只会改变设置的那个背景颜色的透明度效果 <! ...
- [LeetCode题解]876. 链表的中间结点 | 快慢指针
解题思路 使用快慢指针.这里要注意的是,while 的条件会影响当中间节点有两个时,slow 指向的是第一个,还是第二个节点. // 返回的是第一个 while(fast.next != null & ...
- python any,call,init,下划线知识汇总
python补充 any() [来自菜鸟教程] any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True. 元素 ...
- [PHP安全特性学习]strcmp()函数安全漏洞
简介 PHP函数的安全特性-strcmp() 函数 php-strcmp()函数 PHP strcmp() 函数 strcmp() 函数比较两个字符串. 注释:strcmp() 函数是二进制安全的,且 ...
- 9、Spring Boot安全
1.Spring Security简介 Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型.他可以实现强大的web安全控制.对于安全控 ...