7-1 为何不能添加学生
来源:7-1 【案例】实现学生信息库
weixin_慕慕0271488
2024-01-17 11:56:11
#学生信息库 #定义一个基本的学生信息库,以学号作为索引 students={ 1:{ 'name':'dewei', 'age':33, 'class_number':'A', 'sex':'boy' }, 2:{ 'name':'xiaomu', 'age':10, 'class_number':'B', 'sex':'boy' }, 3:{ 'name':'小曼', 'age':18, 'class_number':'A', 'sex':'girl' }, 4:{ 'name':'小高', 'age':18, 'class_number':'C', 'sex':'boy' }, 5:{ 'name':'小云', 'age':18, 'class_number':'B', 'sex':'girl' } } def get_all_students(): for id_, value in students.items(): print(f"学号:{id_},姓名:{value['name']},年龄:{value['age']},班级:{value['class_number']},性别:{value['class_number']}") return students # result=get_all_students() # print('\n---',result) #写一个添加学生的函数,使用可变参数 def add_student(**kwargs): if 'name' not in kwargs: print('没有发现学生姓名') return if 'age' not in kwargs: print('没有发现学生年龄') return if 'sex' not in kwargs: print('没有发现学生性别') return if 'class' not in kwargs: print('没有发现学生班级') return #设置新同学的新学号,不用length是因为有可能有退学,长度更改了但学号没更改。 id_= max(students)+1 students[id_]={ 'name':kwargs['name'], 'age':kwargs['age'], 'sex':kwargs['sex'], 'class_number':kwargs['class_number'], } add_student(name='小白',age=19,class_number='A',sex='boy') get_all_students()
运行输出:
老师好,为什么我这里没有将 ‘小白’添加到学生信息库内?
1回答
好帮手慕小猿
2024-01-17
同学,你好!同学向add_student方法中传关键字参数是class_number字段
在add_student方法中使用if "class" not in kwargs 进行判断,因kwargs中有class_number 没有class ,所以if 条件为真,执行return 语句。函数返回值,后续66行后的代码不执行,所以无法添加成功。
同学将class 改为class_number 就可以成功添加学生信息的。
祝学习愉快~
相似问题