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位置重合 ...
随机推荐
- .NET 5 中的隐藏特性
前言 双十一当天 .NET 5 正式发布带来了很多的新特性和改进,个人觉得非常香,并且花了 10 分钟时间就把自己的 4 个 .NET Core 3.1 的项目升级到了 .NET 5,堪称无痛. 但是 ...
- PHP-Parse 简介以及在 Hyperf 中的应用
介绍 PHP-Parse 是分析 PHP 代码生成 AST 的库,分析出可读性很高的对象数据结构,方便后续的更新和遍历. PHP-Parse 的主要作用是修改原有代码(比如插入自定义的代码片段),生成 ...
- 【java从入门到精通】day-07-逻辑运算符-位运算符-条件运算符-扩展赋值运算符
逻辑与(&&).或(||).非(!) 示例: package operator;public class Demo05 { public static void main(St ...
- LVM划分磁盘及扩容缩容
lvm:logical volume monitor 逻辑卷管理器 作用: 采用lvm划分磁盘:磁盘空间不够时,方便扩展磁盘.物理卷加到卷组时被划分等大的pe,即pv是由众多pe构成.pe是卷组的最小 ...
- 使用Ganglia监控系统监控集群(debian)
ganglia是一个集群监控软件,底层使用RRDTool获得数据. Ganglia分为ganglia-monitor和gmetad两部分,前者运行在集群每个节点上(被监控机器)收集RRDTool产生的 ...
- eclipse 和 myeclipse 字符编码设置
需要设置的几处地方为: Window->Preferences->General ->Content Type 所有 Default encoding 设置为UTF-8 Window ...
- echarts折线图,数据切换时(最近七天)绘图不合理现象
echarts折线图,当进行数据切换时存在绘制不合理的问题,数据没错,但绘制不对. 两个0之间的连线应该是平滑直线,如图: 正确的显示: 解决: 在myCharts.setOption(option) ...
- webug第五关:一个优点小小的特殊的注入
第五关:一个优点小小的特殊的注入 既然是头部注入,首先想到xff注入 出现数据库报错,而且他是直接将xff后的内容带入数据库查询
- python 如何跳过异常继续执行
使用try...except...语句,类似于if...else...,可以跳过异常继续执行程序,这是Python的优势 用法如下: 1 2 3 4 5 6 try: # 可能会 ...
- 关于uniapp无法navigateTo跳转的解决办法
今天在分包时突然无法跳转了,记个笔记 场景: 位于tabbar页面(主包)的子组件跳转到分包页面时,无法跳转 尝试办法: 使用uniapp原生跳转 uni.navigateTo({ url:'xxxx ...