案例一: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. 第一次本地代码提交到github

    1.在个github上创建一个库 2.创建成功后,可以看到自己的仓库地址 3.在本地新建一个文件夹,并通过个git clone将仓库克隆到本地,并进入文件夹下 4.将需要提交的代码放入文件下,然后在终 ...

  2. Docker - 解决容器内获取的时间和主机的时间不一样的问题

    问题背景 分别在容器和主机下执行 date 命令 可以看到,时间是完全不一样的 解决方案 在运行容器时,挂载 /etc/localtime  目录 docker run -d -v /etc/loca ...

  3. Kafka 消费者及消费者分区策略

    消费方式: consumer 采用 pull(拉)模式从 broker 中读取数据. push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的. 它的目标是尽可能以最 ...

  4. 13Linux之磁盘管理

    13Linux之磁盘管理 目录 13Linux之磁盘管理 13 磁盘管理 13.1 两种分区格式 13.1.1 磁盘命名 13.1.2 mbr 13.1.3 gpt 13.2 制作文件系统并且挂载 1 ...

  5. Python_迭代器与生成器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式.. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后 ...

  6. CSS opacity设置不透明度

    1.opacity设置不透明度 opacity会将含有这个属性的子类都变成具有opacity属性,可以改变元素.元素内容.字标签的不透明度.而rgba只会改变设置的那个背景颜色的透明度效果 <! ...

  7. [LeetCode题解]876. 链表的中间结点 | 快慢指针

    解题思路 使用快慢指针.这里要注意的是,while 的条件会影响当中间节点有两个时,slow 指向的是第一个,还是第二个节点. // 返回的是第一个 while(fast.next != null & ...

  8. python any,call,init,下划线知识汇总

    python补充 any() [来自菜鸟教程] any() 函数用于判断给定的可迭代参数 iterable 是否全部为 False,则返回 False,如果有一个为 True,则返回 True. 元素 ...

  9. [PHP安全特性学习]strcmp()函数安全漏洞

    简介 PHP函数的安全特性-strcmp() 函数 php-strcmp()函数 PHP strcmp() 函数 strcmp() 函数比较两个字符串. 注释:strcmp() 函数是二进制安全的,且 ...

  10. 9、Spring Boot安全

    1.Spring Security简介 Spring Security是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型.他可以实现强大的web安全控制.对于安全控 ...