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必须是数字,或过滤非法字符串等.} ...
随机推荐
- 【Angular】——TypeScript之胖箭头(=>)函数
前言:胖箭头(=>)函数是一种快速书写函数的简介语法. ES5和TypeScript比较:在ES5中,每当我们要用甘薯作为方法参数时,都必须用function关键字和紧随其后的花括号({})表示 ...
- enable-ssh-key-logon-disable-password-password-less-logon-centos/
cat ~/.ssh/id_rsa.pub | ssh root@destination_server_address "cat >> ~/.ssh/authorized_key ...
- Centos 7 LVM xfs文件系统修复
Centos 7 LVM xfs文件系统修复 今天一大早,zabbix开始报警了,一台linux主机出现问题. 登陆控制台查看,报如下错误. 解决方法如下: ls -l /dev/mapper xfs ...
- SpringBoot与SpringCloud的版本对应详细版
大版本对应: Spring Boot Spring Cloud 1.2.x Angel版本 1.3.x Brixton版本 1.4.x stripes Camden版本 1.5.x Dalston版本 ...
- 隐马尔可夫模型(HMM) 学习笔记
在中文标注时,除了条件随机场(crf),被提到次数挺多的还有隐马尔可夫(HMM),通过对<统计学习方法>一书的学习,我对HMM的理解进一步加深了. 第一部分 介绍隐马尔可夫 隐马尔可夫模型 ...
- 在Spring Boot中使用 @ConfigurationProperties 注解
但 Spring Boot 提供了另一种方式 ,能够根据类型校验和管理application中的bean. 这里会介绍如何使用@ConfigurationProperties.继续使用mail做例子. ...
- Supervisor配置
Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...
- SQLFullbackup
/* ==Scripting Parameters== Source Server Version : SQL Server 2016 (13.0.1601) Source Database Engi ...
- echarts统计图Y轴(或X轴)文字过长问题解决
echarts 统计图Y轴文字过长 在使用echarts时,出现数值非常大,Y轴又显示不下的情况就需要压缩Y轴数值刻度. 解决方法: yAxis: { type: 'value', axisLabel ...
- Cache-control使用Cache-control:private学习笔记【转载】
网页缓存由 HTTP消息头中的Cache-control控制,常见取值有private.no-cache.max-age.must- revalidate等,默认为private 其作用根据不同的重新 ...