前言:初学者对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. 【Angular】——TypeScript之胖箭头(=>)函数

    前言:胖箭头(=>)函数是一种快速书写函数的简介语法. ES5和TypeScript比较:在ES5中,每当我们要用甘薯作为方法参数时,都必须用function关键字和紧随其后的花括号({})表示 ...

  2. enable-ssh-key-logon-disable-password-password-less-logon-centos/

    cat ~/.ssh/id_rsa.pub | ssh root@destination_server_address "cat >> ~/.ssh/authorized_key ...

  3. Centos 7 LVM xfs文件系统修复

    Centos 7 LVM xfs文件系统修复 今天一大早,zabbix开始报警了,一台linux主机出现问题. 登陆控制台查看,报如下错误. 解决方法如下: ls -l /dev/mapper xfs ...

  4. SpringBoot与SpringCloud的版本对应详细版

    大版本对应: Spring Boot Spring Cloud 1.2.x Angel版本 1.3.x Brixton版本 1.4.x stripes Camden版本 1.5.x Dalston版本 ...

  5. 隐马尔可夫模型(HMM) 学习笔记

    在中文标注时,除了条件随机场(crf),被提到次数挺多的还有隐马尔可夫(HMM),通过对<统计学习方法>一书的学习,我对HMM的理解进一步加深了. 第一部分 介绍隐马尔可夫 隐马尔可夫模型 ...

  6. 在Spring Boot中使用 @ConfigurationProperties 注解

    但 Spring Boot 提供了另一种方式 ,能够根据类型校验和管理application中的bean. 这里会介绍如何使用@ConfigurationProperties.继续使用mail做例子. ...

  7. Supervisor配置

    Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统 ...

  8. SQLFullbackup

    /* ==Scripting Parameters== Source Server Version : SQL Server 2016 (13.0.1601) Source Database Engi ...

  9. echarts统计图Y轴(或X轴)文字过长问题解决

    echarts 统计图Y轴文字过长 在使用echarts时,出现数值非常大,Y轴又显示不下的情况就需要压缩Y轴数值刻度. 解决方法: yAxis: { type: 'value', axisLabel ...

  10. Cache-control使用Cache-control:private学习笔记【转载】

    网页缓存由 HTTP消息头中的Cache-control控制,常见取值有private.no-cache.max-age.must- revalidate等,默认为private 其作用根据不同的重新 ...