案例一: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基本案例实现的更多相关文章

  1. ArcGIS Python编程案例-电子资料链接

    ArcGIS Python编程案例(1)-Python语言基础 https://www.jianshu.com/p/dd90816d019b ArcGIS Python编程案例(2)-使用ArcPy编 ...

  2. Python入门(案例)

    Python入门(案例) #一.上课案例: #输出hello wordprint('hello word') #python注释有两种#1.单行注释#这是单行注释#2.多行注释'''这是多行注释''' ...

  3. Python 小案例实战 —— 简易银行存取款查询系统

    Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...

  4. python项目案例

    python项目案例1:----此学习案例用python3编写,摘自明日科技,感谢! 学生管理系统: 功能描述:具有增删改查,排序,保存并显示学生的全部信息. 1.主界面---函数menu(),显示功 ...

  5. Python学习案例之Web版语音合成播报

    前言 语音合成技术能将用户输入的文字,转换成流畅自然的语音输出,并且可以支持语速.音调.音量设置,打破传统文字式人机交互的方式,让人机沟通更自然. 应用场景 将游戏场景中的公告.任务或派单信息通过语音 ...

  6. Python学习案例之视频人脸检测识别

    前言 上一篇博文与大家分享了简单的图片人脸识别技术,其实在实际应用中,很多是通过视频流的方式进行识别,比如人脸识别通道门禁考勤系统.人脸动态跟踪识别系统等等. 案例 这里我们还是使用 opencv 中 ...

  7. 【菜鸟学Python】案例一:汇率换算

    汇率换算V1.0 案例描述: 设计一个汇率换算器程序,其功能是将外币换算成人民币,或者相反 案例分析: 分析问题:分析问题的计算部分: 确定问题:将问题划分为输入.处理及输出部分: 设计算法:计算部分 ...

  8. python经典案例

    前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰.本文总结了一些初学者在学习python时做的经典案例 一.名片管理系统(限单个名片) info = {'name':'jam ...

  9. python实战案例--银行系统

    stay hungry, stay foolish.求知若饥,虚心若愚. 今天和大家分享一个python的实战案例,很多人在学习过程中都希望通过一些案例来试一下,也给自己一点动力.那么下面介绍一下这次 ...

  10. 查找算法:二分法查找及其python实现案例

    承接上一篇:查找:顺序查找与二分法查找,将二分法更多详细的python实现解题写下笔记. 简单方法 ''' 二分法查找在列表中的用户输入值,返回index 三种情况跳出循环体: LR相邻 LR位置重合 ...

随机推荐

  1. linux 进程间通信 共享内存 shmat

    系统调用mmap()通过映射一个普通文件实现共享内存.系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信.也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shm ...

  2. linux文件cat/tac/more/less/head/tail/find/vimdiff

    ls查看目录文件里的文件: [root@localhost test]# ls a  aa  b  c -d选项查看目录文件自身信息: [root@localhost test]# ll -d drw ...

  3. AQS详解,并发编程的半壁江山

    千呼万唤始出来,终于写到AQS这个一章了,其实为了写这一章,前面也是做了很多的铺垫,比如之前的 深度理解volatile关键字 线程之间的协作(等待通知模式) JUC 常用4大并发工具类 CAS 原子 ...

  4. 解决自动安装Freebsd系统盘符无法确定问题

    最近因为需要用到Freebsd,所以研究了打包的一些方法,这个没什么太大问题,通过网上的一些资料可以解决,但是由于确实不太熟悉这套系统,还是碰上了一些比较麻烦的地方,目前也没看到有人写如何处理,那就自 ...

  5. linux域名解析引起登陆慢

    linux域名解析引起登陆慢的问题在于,ssh去登录这个台机器的时候,本机会去通过域名解析获取登录主机的主机名,所有一旦域名解析是无效的,需要等待较长时间 解决办法一: 将域名解析指到127.0.0. ...

  6. Html+css 一个简单的网页模板

    一个简单的网页模板,有导航.子菜单.banner部分 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&q ...

  7. Java web 自动备份数据库和log4j日志

    利用监听自动备份 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns: ...

  8. Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现

    Apache Shiro 1.2.4反序列化漏洞(CVE-2016-4437)复现 环境搭建 docker pull medicean/vulapps:s_shiro_1 docker run -d ...

  9. 通过Folx的排序功能来设置下载任务的优先级

    当我们使用Folx进行多任务下载时,突然遇到要下载一个紧急文件的情况,该如何让这个紧急文件的下载任务排在优先的位置?当然,用户也可以先暂停所有的下载任务,仅开启紧急文件的下载任务. 但这种方式需要用户 ...

  10. 如何在Vegas中安装激活Continuum插件

    视频剪辑插件Boris FX Continuum安装程序包含了多达250种插件.而视频剪辑软件Vegas Pro 18 Suite中提供了Boris FX Continuum Film Style U ...