需求:

按照以下要求完成代码的编写
第一步:录入学生信息
1)提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄
2)要求:封装录入单个学生信息的函数,并返回学生的信息
第二步:展示学生列表信息
1)封装打印学生信息的函数,格式要求如右图:
第三步:统计学生总数
1)封装获取学生总数的函数,并对该函数进行调用和数据打印
第四步:查询学生信息
1)封装根据学生姓名查询学生信息的函数
2)提示用户“请输入要查询的学生姓名:”
3)如果存在,直接在控制台打印学生信息,格式为:“姓名:张三,年龄:25”
4)如果不存在,直接在控制台打印“对不起,名字叫【张三】的学生不存在”

如图

用python录入学生信息 python输入输出学生信息_python

代码:
# 需求:按照以下要求完成代码的编写
# 第一步:录入学生信息
# 	1)提示用户在控制台输入3个学生的信息,学生信息包含姓名、年龄
# 	2)要求:封装录入单个学生信息的函数,并返回学生的信息
def input_student():
    # 定义字典来保存学生信息
    name = input("输入学生的姓名:")
    age = input("输入学生的年龄:")
    dict1 = {"name": name, "age": age}  # 学生的信息用字典来存储
    return dict1


# 第二步:展示学生列表信息
# 	1)封装打印学生信息的函数,格式要求如右图:
def show_student(list_student):
    print("------学生列表信息-------")

    i = 1  # 记录学生序号

    for student in list_student:  # 遍历输出
        print(f"{i}\t\t{student.get('name')}\t\t{student.get('age')}")

        i += 1  # 序号加1

    print("-----------------------")


# 第三步:统计学生总数
# 	1)封装获取学生总数的函数,并对该函数进行调用和数据打印
def count_student(list_student):
    return len(list_student)  # 获取列表字典的长度 len()


# 第四步:查询学生信息
# 	1)封装根据学生姓名查询学生信息的函数
# 	2)提示用户“请输入要查询的学生姓名:”
# 	3)如果存在,直接在控制台打印学生信息,格式为:“姓名:张三,年龄:25”
# 	4)如果不存在,直接在控制台打印“对不起,名字叫【张三】的学生不存在”


"""
       遍历学生信息,如果查到了,函数就结束
       只能用  return
       break continue 是跳出 for循环,不满足要求
"""

def query_student(list_student):
    name = input("请输入要查询的学生姓名:")
    for student in list_student:
        if student.get('name') == name:
            print(f"姓名:{student.get('name')},年龄:{student.get('age')}")
            return

    print(f"对不起,名字叫{name}的学生不存在")  # 没有找到,必须放到循环的外面,
                                           # 如果遍历完之后,没有查到学生,就输出没有找到


if __name__ == '__main__':  # 函数的调用放到 main()

    # 定义保存3个学生信息的数据
    list_student = []
    for i in range(3):
        student = input_student()
        list_student.append(student)

    print(list_student)  # 把3个学生的信息存储在列表中

    # 调用打印学生信息函数              # 把列表数据传入函数,当做实参
    show_student(list_student)
    # 调用统计学生总数的函数
    print(count_student(list_student))
    # 查询学生信息
    query_student(list_student)