python经典案例
前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰。本文总结了一些初学者在学习python时做的经典案例
一、名片管理系统(限单个名片)
info = {'name':'jam',
'age': 24,
'high':171
}
while True:
print('='*60) #字符串拼接可以用*
print('===名片管理系统===')
print('1.改 2.删 3.查 4.增 5.退出')
c=input('请选择:')
if c == '':
res = input('请输入要修改的关键词:')
if res == 'name':
info['name']=input('请输入对应内容:')
print(info)
elif res == 'age':
info['age']=input('请输入对应内容:')
print(info)
elif res =='high':
info['high']=input('请输入对应内容:')
print(info)
if c == '':
res1 =input('请输入要删除的关键词:')
print(info.pop(res1))
print(info)
if c == '':
res2=input('请输入要查看的关键词:')
print(info.get(res2))
if c == '':
res3=input('请输入要增加的内容:')
v1=input('请输入value:')
print(info.update({}.fromkeys((res3,),v1)))
print(info)
if c == '':
print('退出本次操作')
else:
print('请输入12345')
二、名片管理系统
l1=[] #使用列表,利用下标进行增删改查
while True:
print('*'*60)
print('==============欢迎进入名片管理系统==============')
print('1.查看名片')
print('2.添加名片')
print('3.修改名片')
print('4.删除名片')
print('5.退出系统')
choose=input('请选择:') #input输出都是字符串
if choose=='':
i=0
while i < len(l1):
print('%s->姓名:%s|年龄:%s|身高:%s' % (i,l1[i]['name'],l1[i]['age'],l1[i]['high'])) #第一个%s输出行号,从0开始
i+=1
else:
print('空')
elif choose == '':
name=input('name:').strip() #input().strip去除空格
age=input('age:').strip()
high=input('high:').strip()
info={'name':name,
'age':age,
'high':high
}
l1.append(info)
print('添加成功')
elif choose == '':
revise=input('请选择要修改的名片:')
name1=input('name:').strip()
age1=input('age:').strip()
highl=input('high:').strip()
if name1: #加入条件语句是为了让用户知道有哪些关键词
l1[int(revise)]['name']=name1
if age1:
l1[int(revise)]['age']=age1
if highl:
l1[int(revise)]['high']=highl
print('修改成功')
elif choose == '':
de1=input('请输入要删除的名片:')
l1.remove(l1[int(de1)])
print('删除成功')
elif choose == '':
print('退出系统')
break
else:
print('输入错误,请重新输入')
三、猜拳小游戏
import random #import代表导入模块,random是随机数模块
lost = 0
win = 0
ping = 0
while True: #循环
print('='*60)
print('****************欢迎来猜拳*****************')
print('赢:%s 平:%s 输:%s' % (win,ping,lost))
print('1.石头 2.剪刀 3.布 4.退出')
robot = random.choice( ['剪刀','石头','布'])
h = input('请出:')
if (h == '' and robot == '剪刀')or (h == '' and robot == '布') or (h== '' and robot == '石头'): #赢
win+=1
print('you are the winner')
elif (h == '' and robot == '石头')or (h == '' and robot == '剪刀') or (h== '' and robot=='布'): #平
ping+=1
print('ping')
elif (h == '' and robot == '布') or (h == '' and robot == '石头') or (h == '' and robot=='剪刀'): #输
lost+=1
print('you are loser')
elif h == '':
print('退出系统')
break #退出循环
else:
print('输入错误,请重新输入')
四、用户登录界面(单个),输入三次错误密码,退出程序
user = 'root'
paw = 'root'
count = 0
print('***********登录系统***********')
while True:
user1 = input('username:')
passwd1 = input('passwd:')
if user1 and passwd1:
print('登录成功')
break
else:
count+=1
print('用户名或密码错误,请重新输入', count)
if count == 3:
print('密码输入超过三次,请求失败')
五、用户登录界面(多个),支持多个用户登录,用户3次认证失败后,退出程序,再次启动程序登录时,还是锁定状态
print('*****************登录系统*****************')
info = {'name1':'',
'name2':'',
'name3':''
} #多个用户及其对应密码
count=0
print('1.登录 2.注册')
while True:
choose = input('请选择登录or注册:')
if choose=='':
user = input('用户名:')
with open(r'C:\Users\jam\Desktop\b.txt', 'r', encoding='utf-8') as f:
data = f.read()
if user in data:
print('滚蛋吧')
break
psw = input('密码:')
if info[user]== psw:
print('登录成功') #用户和密码一一对应,登陆成功
else:
count += 1
print('密码错误')
if count == 3: #输入三次错误密码。退出
with open(r'C:\Users\jam\Desktop\b.txt','w',encoding='utf-8') as f:
f.write(user)
print('你的账号被封了')
break
elif choose == '': #创建新用户
user1=input('请输入用户名:')
psw1=input('请输入密码:')
info.setdefault(user1,psw1)
print(info)
break
六、乘车安检
has_ticket=input('====>:').strip()
knife_length=int(input('====>').strip())
if has_ticket:
print('有票,请进行安检')
if knife_length >=20:
print('安检通过,请上车')
else:
print('滚粗')
else:
print('请先购票')
在编写程序时,一定要先理清思路,知道自己要做什么,怎么做,分析好了再下手。
python经典案例的更多相关文章
- Python递归的经典案例
目录 : 一.递归的简介 二.递归的经典应用 2.1 递归求阶乘 2.2 递归推斐波那契数列 2.3 二分法找有序列表指定值 2.4 递归解汉诺塔 前言: 当我们碰到诸如需要求阶乘或斐 ...
- 经典案例之MouseJack
引言:在昨天的文章<无线键鼠监听与劫持>中,我们提到今天会向您介绍一个无线键鼠的监听与劫持的经典案例,<MouseJack>:MouseJack能利用无线鼠标和键盘存在的一些问 ...
- 100个Linux Shell脚本经典案例(附PDF)
转载自:https://mp.weixin.qq.com/s/tCKAM67_7K7q2vJthaIsDQ 原文链接:https://wenku.baidu.com/view/4f089430a116 ...
- javascript的理解及经典案例
js的简介: JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言. 你可以利用JavaScript轻易的做出亲切的欢迎讯息.漂亮的数字钟.有广告效 ...
- jQuery基础的工厂函数以及定时器的经典案例
1. jQuery的基本信息: 1.1 定义: jQuery是JavaScript的程序库之一,它是JavaScript对象和实用函数的封装, 1.2 作用: 许多使用JavaScript能实现的交 ...
- Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)
Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编 ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...
- 经典案例:那些让人赞不绝口的创新 HTML5 网站
在过去的10年里,网页设计师使用 Flash.JavaScript 或其他复杂的软件和技术来创建网站.但现在你可以前所未有的快速.轻松地设计或创造互动的.有趣好看的网站.如何创建?答案是 HTML5 ...
- Altera OpenCL用于计算机领域的13个经典案例(转)
英文出自:Streamcomputing 转自:http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl- ...
- php中foreach()函数与Array数组经典案例讲解
//php中foreach()函数与Array数组经典案例讲解 function getVal($v) { return $v; //可以加任意检查代码,列入要求$v必须是数字,或过滤非法字符串等.} ...
随机推荐
- 记一次nmap扫描信息收集过程
1.首先扫描网段内存活主机 nmap -sP 192.168.1.1-254 2.获取到存活主机后,开始进行端口扫描 nmap -p1-1000 192.168.1.66 可得到端口状态: filte ...
- Azure CosmosDB (5) 高可用性
<Windows Azure Platform 系列文章目录> Azure Cosmos DB 透明地复制与您的Cosmos帐户关联的所有Azure区域中的数据. Cosmos DB 对数 ...
- Optaplanner规划引擎的工作原理及简单示例(2)
开篇 在前面一篇关于规划引擎Optapalnner的文章里(Optaplanner规划引擎的工作原理及简单示例(1)),老农介绍了应用Optaplanner过程中需要掌握的一些基本概念,这些概念有且于 ...
- 持续更新scrapy的错误,ValueError: Missing scheme in request url:
只需要将 for href in response.xpath('XX').extract(): yield Request(hrefs) 修改为下面,就可以显示出来 for href in resp ...
- Go语言 并发编程
Go语言 并发编程 作者:Eric 微信:loveoracle11g 1.创建goroutine // 并行 是两个队列同时使用两台咖啡机 // 并发 是两个队列交替使用一台咖啡机 package m ...
- 跨年呈献:HP-Socket for Linux 1.0 震撼发布
三年,三年,又三年,终于,终于,终于不用再等啦!就在今天,HP-Socket for Linux v1.0 震撼发布!还是一样的接口,一样的高效,一样的简便,一样的味道. HP-Socket ...
- C#中获取文件信息的代码
如下的内容内容是关于C#中获取文件信息的内容,应该对大伙有一些好处. FileInfo fi = new FileInfo(@"C:file.txt"); if(fi.Exists ...
- Java学习笔记——鸵鸟学习记(三)
8,对象的创建与销毁 a, 构造方法——在构造对象的时候同时传入相关的属性 用于构造对象的方法(当创建对象时调用的方法) 规则:1)方法名与类名相同 2)无返回值 package my; public ...
- 基于vue和svg的树形UI
vue-svg-tree 基于vue和svg的动态树形UI 截图 应用 npm install vue-svg-tree 示例 <template> <div> <v ...
- debian apache2 多端口对应多文件 虚拟端口配置
apache2单IP多端口创建虚拟站点如下: 1.转到配制目录虚拟站点配制目录 cd /etc/apache2/ 2.配置新增多的端口 编辑上级目录中的端口配制文件sudo gedit ports ...