前言:初学者对python的流程语句有一定的了解,但是运用起来总会磕磕碰碰。本文总结了一些初学者在学习python时做的经典案例
一、名片管理系统(限单个名片)
info = {'name':'jam', 'age': 24, 'high':171 } while True: print('='*60) #字符串拼接可以用* print('===名片管理系统===') print('1.改 2.删 3.查 4.增 5.退出') c=input('请选择:') if c == '1': 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 == '2': res1 =input('请输入要删除的关键词:') print(info.pop(res1)) print(info) if c == '3': res2=input('请输入要查看的关键词:') print(info.get(res2)) if c == '4': res3=input('请输入要增加的内容:') v1=input('请输入value:') print(info.update({}.fromkeys((res3,),v1))) print(info) if c == '5': 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=='1': 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 == '2': 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 == '3': 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 == '4': de1=input('请输入要删除的名片:') l1.remove(l1[int(de1)]) print('删除成功') elif choose == '5': 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 == '1' and robot == '剪刀')or (h == '2' and robot == '布') or (h== '3' and robot == '石头'): #赢 win+=1 print('you are the winner') elif (h == '1' and robot == '石头')or (h == '2' and robot == '剪刀') or (h== '3' and robot=='布'): #平 ping+=1 print('ping') elif (h == '1' and robot == '布') or (h == '2' and robot == '石头') or (h == '3' and robot=='剪刀'): #输 lost+=1 print('you are loser') elif h == '4': 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':'0330', 'name2':'1234', 'name3':'806' } #多个用户及其对应密码 count=0 print('1.登录 2.注册') while True: choose = input('请选择登录or注册:') if choose=='1': 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 == '2': #创建新用户 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('请先购票')
在编写程序时,一定要先理清思路,知道自己要做什么,怎么做,分析好了再下手。