前言:初学者对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('请先购票')
在编写程序时,一定要先理清思路,知道自己要做什么,怎么做,分析好了再下手。