本人位于某地一名计算机学院在校生,此文章仅供学习参考,初写博客,还望海涵。
文章目录
前言
俗话说:“人生苦短,我学Python”,照目前互联网的趋势,Python编程语言是越来越火旺,经常刷到很多文章博主都说Python是很容易入门,但是我学了一段时间之后,发现事情并不简单....(也许是自己太笨拙哈哈哈憨笑),既然如此,那自己就更需要努力,既然没有法拉利的速度,就算是磨面也要一点一点磨到炉火纯青的境界(吹个牛皮不要喷我呐),咳咳,讲正事吧,我主要呢是运用列表和字典的来完成的这个小项目,其中更不或缺的有循环、if判断、def函数。
一、构思
- 写定义一个空列表和一个空字典来存储。
list1=[] #用于储存字典中的信息 dict1={} #用于储存联系人信息
- 定义功能选项
def Menu(): print('请选择功能--------\n' '1.添加学员\n' '2.删除学员\n' '3.修改学员\n' '4.查询学员\n' '5.显示所有学员\n' '6.退出系统\n' '----------------')
- 重点来了,填补写每个功能的代码,中途出了一些小插曲。
#添加学员 def Add(): id=input('请输入学号:') name=input('请输入姓名:') tel=input('请输入手机号:') dict1={'id':id,'name':name,'tel':tel} list1.append(dict1) #将字典内容添加到列表中 print(list1)
- 可见添加学员的功能很轻松的就完成了,准备好,小插曲来了。
- 下图是最初写的删除学员功能的代码
#删除学员 def Del(): name=input('请输入要删除的学员的姓名:') if name in dict1: del list1['name'] print(list1) else: print('并无此学员')
- 运行结果如下:不管怎么写都是并无此学员
请选择功能-------- 1.添加学员 2.删除学员 3.修改学员 4.查询学员 5.显示所有学员 6.退出系统 ---------------- 请输入功能序号:1 请输入学号:001 请输入姓名:zhang 请输入手机号:111 [{'id': '001', 'name': 'zhang', 'tel': '111'}] 请选择功能-------- 1.添加学员 2.删除学员 3.修改学员 4.查询学员 5.显示所有学员 6.退出系统 ---------------- 请输入功能序号:2 请输入要删除的学员的姓名:zhang 并无此学员
当初的脑子不知是怎的,是卡壳了吗,现在回想,我现在都看不懂我当时是怎么写出这个代码的(哈哈哈哈哈哈哈自黑就是我了)
- 经过我的努力,最终解出
#删除学员 def Del(): name=input('请输入要删除的学员的姓名:') i=0 #索引 for item in list1: #循环列表中的内容 i+=1 if name in item['name']: #判断要删除学员的姓名与列表中嵌套的字典姓名相同时 del list1[i-1] #删除列表索引-1的内容 print(list1) else: print('并无此学员...')
这样写很明显思路清晰明了……
- 解出这一步,后面的功能就相当于继承了同样的思路吧,如下
#修改学员 def Update(): name=input('请输入要修改的学员的姓名:') tel=input('请输入新的手机号:') i=0 #索引 for item in list1: i+=1 if name in item['name']: list1[i-1]['tel']=tel #修改列表索引-1中嵌套的字典内容,旧tel修改为新的手机号 print(list1) else: print('并无此学员...') #查询学员 def Select(): name=input('请输入要查询的学员的姓名:') for item in list1: if name in item['name']: print('查询到的学员信息如下--------') print('学员的学号是%s,姓名是%s,手机号是%s' % (item['id'],item['name'],item['tel'])) else: print('查无此人...') #显示所有学员 def ShowAll(): print('学号 姓名 手机号') for item in list1: print(item['id'],item['name'],item['tel'])
- 还有一个退出的功能,代码如下
#退出系统 def Quit(): YesNo=input('确定要退出吗,yes or no?') if YesNo=='yes': quit()
- 最后就是写一个死循环,调用所有的函数功能
while True: Menu() num=int(input('请输入功能序号:')) if num==1: Add() elif num==2: Del() elif num==3: Update() elif num==4: Select() elif num==5: ShowAll() elif num==6: Quit() else: print('无效选项-----')
二、整体项目演示
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:1
请输入学号:001
请输入姓名:张
请输入手机号:111
[{'id': '001', 'name': '张', 'tel': '111'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:1
请输入学号:002
请输入姓名:李
请输入手机号:222
[{'id': '001', 'name': '张', 'tel': '111'}, {'id': '002', 'name': '李', 'tel': '222'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:1
请输入学号:003
请输入姓名:王
请输入手机号:333
[{'id': '001', 'name': '张', 'tel': '111'}, {'id': '002', 'name': '李', 'tel': '222'}, {'id': '003', 'name': '王', 'tel': '333'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:2
请输入要删除的学员的姓名:张
[{'id': '002', 'name': '李', 'tel': '222'}, {'id': '003', 'name': '王', 'tel': '333'}]
并无此学员...
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:3
请输入要修改的学员的姓名:王
请输入新的手机号:666
并无此学员...
[{'id': '002', 'name': '李', 'tel': '222'}, {'id': '003', 'name': '王', 'tel': '666'}]
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:4
请输入要查询的学员的姓名:王
查无此人...
查询到的学员信息如下--------
学员的学号是003,姓名是王,手机号是666
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:5
学号 姓名 手机号
002 李 222
003 王 666
请选择功能--------
1.添加学员
2.删除学员
3.修改学员
4.查询学员
5.显示所有学员
6.退出系统
----------------
请输入功能序号:6
确定要退出吗,yes or no?yes
Process finished with exit code 0
总结
以上就是我的构思和所有的代码了,在获取列表中嵌套的字典内容时遇到了困难,说明我还是对于基础的数据类型把握的不够深厚,希望这篇文章能够帮助到大家,一起努力吧,冲冲冲!!!