前言:初学者对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经典案例的更多相关文章

  1. Python递归的经典案例

    目录 : 一.递归的简介 二.递归的经典应用   2.1 递归求阶乘   2.2 递归推斐波那契数列   2.3 二分法找有序列表指定值   2.4 递归解汉诺塔 前言: 当我们碰到诸如需要求阶乘或斐 ...

  2. 经典案例之MouseJack

    引言:在昨天的文章<无线键鼠监听与劫持>中,我们提到今天会向您介绍一个无线键鼠的监听与劫持的经典案例,<MouseJack>:MouseJack能利用无线鼠标和键盘存在的一些问 ...

  3. 100个Linux Shell脚本经典案例(附PDF)

    转载自:https://mp.weixin.qq.com/s/tCKAM67_7K7q2vJthaIsDQ 原文链接:https://wenku.baidu.com/view/4f089430a116 ...

  4. javascript的理解及经典案例

    js的简介: JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言. 你可以利用JavaScript轻易的做出亲切的欢迎讯息.漂亮的数字钟.有广告效 ...

  5. jQuery基础的工厂函数以及定时器的经典案例

    1. jQuery的基本信息:  1.1 定义: jQuery是JavaScript的程序库之一,它是JavaScript对象和实用函数的封装, 1.2 作用: 许多使用JavaScript能实现的交 ...

  6. Linux运维之道(大量经典案例、问题分析,运维案头书,红帽推荐)

    Linux运维之道(大量经典案例.问题分析,运维案头书,红帽推荐) 丁明一 编   ISBN 978-7-121-21877-4 2014年1月出版 定价:69.00元 448页 16开 编辑推荐 1 ...

  7. 经典案例:那些让人赞不绝口的创新 HTML5 网站

    在过去的10年里,网页设计师使用 Flash.JavaScript 或其他复杂的软件和技术来创建网站.但现在你可以前所未有的快速.轻松地设计或创造互动的.有趣好看的网站.如何创建?答案是 HTML5 ...

  8. Altera OpenCL用于计算机领域的13个经典案例(转)

    英文出自:Streamcomputing 转自:http://www.csdn.net/article/2013-10-29/2817319-the-application-areas-opencl- ...

  9. php中foreach()函数与Array数组经典案例讲解

    //php中foreach()函数与Array数组经典案例讲解 function getVal($v) { return $v; //可以加任意检查代码,列入要求$v必须是数字,或过滤非法字符串等.} ...

随机推荐

  1. laravel学习资料

    http://blog.csdn.net/qq_20873039/article/category/6246852   --laravel核心概念 /Eloquent ORM / laravel bl ...

  2. 解决WIN7第一次开机冷启动QQ未响应的办法

    为什么WIN7第一次开机冷启动QQ未响应?WIN10就没事? http://bbs.wuyou.net/forum.php?mod=viewthread&tid=409516&extr ...

  3. kafka性能调优(转)

    原文  https://blog.csdn.net/weixin_39478115/article/details/79155287 Broker参数配置 1.网络和io操作线程配置优化 # brok ...

  4. [UE4]Spline使用注意事项

    一.如果在Character中使用Spline,则使用Add Spline Mesh Componet的时候,要注意设置Transform.Mobility为Movable 二.使用Predict P ...

  5. DP基础练习(4.21)

    数塔 Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? ...

  6. 深度学习(二)--深度信念网络(DBN)

    深度学习(二)--深度信念网络(Deep Belief Network,DBN) 一.受限玻尔兹曼机(Restricted Boltzmann Machine,RBM) 在介绍深度信念网络之前需要先了 ...

  7. 在VS2015中用C++编写可被C#调用的DLL

    VS2015用C++创建动态库DLL步骤如下: (1)启动VS2015-->文件-->新建-->项目,按图二进行选择,选择Win32项目,弹出创建窗口,如第二张图.注意.net版本根 ...

  8. 1.Java

    面向对象:封装,继承,多态 A组合B:那么B就可以调用A中的方法 A关联B:A中的成员变量是用B声明的 A和B的依赖关系:A中某个方法的参数是B声明的对象或者返回值类型是B的数据类型 Static方法 ...

  9. 删除链表的倒数第N个节点

    题目描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后 ...

  10. 快速傅里叶变换(FFT)时间复杂度

    图:信号在时域上和频域上的直观表示 1. 计算一维离散傅里叶变换(DFT)公式如下: 其中,N表示数据长度.由上式可知,DFT的时间复杂度是O(N*N) 2. 一维FFT的时间复杂度为O(N*logN ...