查找用户功能的实现 | 学习笔记

简介: 快速学习查找用户功能的实现

开发者学堂课程【Python 入门 2020年版:查找用户功能的实现 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/639/detail/10438


查找用户功能的实现

内容介绍:

一.显示学生功能

二.同名情况

三.代码简化

 

1. 显示学生功能

def show_ student():
x=input('1.査看所有学生\ n2.根据姓名査找\ n3.根据学号査找\n其他:返回\n请选择:')

y = file_manager.read_json(name+ '.json', {})
#if not y: #如果文件不存在,y 是一个空字典 {}
students=[]

# else:
students=y['all_student']
students=y.get('all.student', [])
if x=='1':
pass
elif x=='2':
pass
elif x=='3':
pass
else:
pass 

运行结果:

**欢迎采到学生管理系统**
◆1.登录
◆2.注册
◆3.退出

请选择 (1-3):1

请输入老师账号: jack
请输入密码: 12345

欢迎 Jack 老师进入学生管理系统
▼1.添加学生
▼2.查看学生
▼3.修改学生信息
▼4.删除学生
▼5.返回

请选择 (1-5):2
1.查看所有学生
2.根据姓名查找
3.根据学号查找
其他:返回
请选择: 1
学号: stu_0001, 姓名: mery,性别: female, 年龄:17, tel:112

学号: stu_0002,姓名: jimmy,性别: male,年龄: 13,tel:113

欢迎 Jack 老师进入学生管理系统
▼1.添加学生
▼2.查看学生
▼3.修改学生信息
▼4.删除学生
▼5.返回

请选择(1-5):1

请输入学生姓名: jimmy

请输入年龄: 14

请输入性别: male

请输入电话号码: 117

添加成功!
1.继续
2.返回
请选择(1-2):1
请输入学生姓名: hellen

请输入年龄: 18
请输入性别: male

请输入电话号码: 111

添加成功!
1.继续
2.返回
请选择(1-2): 1
请输入学生姓名: mery

请输入年龄: 23
请输入性别: male

请输入电话号码: 111

欢迎 Jack 老师进入学生管理系统
▼1.添加学生
▼2.查看学生
▼3.修改学生信息
▼4.删除学生
▼5.返回

请选择( 1-5):2

学号: stu_0001,姓名: mery,性别: female,年龄: 17,tel: 112

学号: stu_0002,姓名: jimmy,性别: male,年龄: 13,tel: 113

学号: stu_0003,姓名: jimmy,性别: male,年龄: 14,tel: 117

学号: stu_0004,姓名: hellen,性别: male,年龄: 18,tel: 116

学号: stu_0005,姓名 mery,性别: male,年龄: 23,tel: 111

欢迎 Jack 老师进入学生管理系统
▼1.添加学生
▼2.查看学生
▼3.修改学生信息
▼4.删除学生
▼5.返回

2. 同名情况

(1)s_id 形式

elif x=='2':
s_name = input('请输入学生姓名:')
same_name_students=[]
for student in students:
if student['name']==S_name:
same_ name_ students . append( student)
for student in same_ name_ students :
print('学号:{s__id},姓名:{name},性别:{gender},年龄:{age},s:{te1}'.format(**)

运行结果:
欢迎 Jack 老师进入学生管理系统
▼1.添加学生
▼2.查看学生
▼3.修改学生信息
▼4.删除学生
▼5.返回

请选择 (1-5):2

请输入学员姓名: mery
学号: stu_0001,姓名: mery,性别: female,年龄: 17,tel: 112

学号: stu_0005,姓名: mery,性别: male,年龄: 23,tel: 111

(2)filter() 形式

介绍:

In[2]:ages=[12,19,17,20,18,15,21]
In[3]:ages.filter(lambda age:age >=18,ages)
Traceback(most recent call last):
File"C: Users chris AppDatalLocal Programs Python Python37libsite-pexec(code_obj,self.user_global_ ns,self.user_ns)
File"<ipython- input-3-ffa1bfa498e5>",line,in<module>
ages.filter(lambda age:age >=18,ages)
'AttributeError:"list' object has no attribute'filter'
In[4]:filter(lambda age:age >= 18,ages)Out[4]:<filter at 0x1a1c1d41e08>
In[5]: list(filter(lambda age:age >= 18, ages))0ut[5]:[19,20,18, 21]

代码:

print('学号:{s_id},姓名:{name},性别:{gender},年龄:{age},:{te1}'.format(**student)
elif  x=='2':
s_name=input('请输入学员姓名:')
#same_name_students=[]
#for student in students:
if student[ 'name']==s_name:
same_name_students.append(student )

#filter结果是一个filter类,它是一个可迭代对象
same_name_students=filter(lambda s:s['name']==S__name, students )
for student in same_ name_ students :
print('学号:{s_ id}, 姓名:{name},性别:{gender},年龄:{age},西:{te1}' .format(**student) )

3. 对代码进行简化

def show_student():
key=value=
x=input('1.査看所有学生\n2.根据姓名査找\n3.根据学号査找\n其他:返回\n请选择:')

y=file manager .read_ json(name+'.json',{})
students = y.get('all_ student', [])if not students:
print('孩老師逐没有学員,清添加学員')return
if  x=='1':#査洵所有
pass
elif x=='2'
value=input('请输入学生姓名:')

key =' name
elif x=='3':
value=input('请输入学生的id:')

key = 's_ _id'
else:
return
students = filter(lambda s:s[key]==value, students)

If  not  students :
print('未找到学员')
return
#s= "s_id":"stu_0001","name":"mery","age":"17","gender":"female","tel":"112"]

#s.get(key,'')==values.get('','')==>
students = filter(lambda s: s.get(key == value, students)
if not students:
print('未找到学员')return
for student in students :
print('学号:{s_ _id}, 姓名:{name},性别: {gender},年龄:{age},:{te1}'.format(**student))

相关文章
|
6月前
|
算法 Java Linux
Linux下文件增删改查定位压缩操作与权限所属用户
Linux下文件增删改查定位压缩操作与权限所属用户
71 0
|
Python
十八、通讯录管理系统Python版(对学生的增加,删除,修改,查询,遍历所有学员信息,退出系统,六个功能的实现)
十八、通讯录管理系统Python版(对学生的增加,删除,修改,查询,遍历所有学员信息,退出系统,六个功能的实现)
十八、通讯录管理系统Python版(对学生的增加,删除,修改,查询,遍历所有学员信息,退出系统,六个功能的实现)
|
6月前
|
算法 前端开发
1517. 查找拥有有效邮箱的用户
1517. 查找拥有有效邮箱的用户
48 0
|
缓存 NoSQL Java
用户重复登录|学习笔记
快速学习用户重复登录
230 0
用户重复登录|学习笔记
|
前端开发 Java Nacos
课程管理-删除课程删除视频(最终测试) | 学习笔记
简介:快速学习课程管理-删除课程删除视频(最终测试)
117 0
课程管理-删除课程删除视频(最终测试) | 学习笔记
|
前端开发 小程序 关系型数据库
小程序中实现搜索功能
小程序中实现搜索功能
小程序中实现搜索功能
|
JSON 数据安全/隐私保护 数据格式
查找用户功能的实现 | 学习笔记
快速学习查找用户功能的实现
|
开发者 Python
显示用户功能实现 | 学习笔记
快速学习 显示用户功能实现
|
开发者 Python
修改用户功能实现 | 学习笔记
快速学习 修改用户功能实现
111 0
|
开发者 Python
查找相关的方法 | 学习笔记
快速学习查找相关的方法