phthon作业

作业一 

 使用字典、循环重构管理系统,实现所有功能

# 引入模块
import os
# 公共数据:记录学员信息的字典

user_list = {
    "admin":{"username": "admin", "password": "123",},
            }
stu_list = {}

# 1. 展示登录界面
while True:
    os.system("cls")  # clears
    print("\t\t学生管理系统")
    print("- * - * - * - * - * - * - * - * - * - * - * -")
    print("\t\t1. 操作员登录")
    print("\t\t2. 操作员注册")
    print("\t\t3. 退出系统")
    print("- * - * - * - * - * - * - * - * - * - * - * -")

    # 提示用户输入选项
    choice = input("请输入您的选项:")

    if choice == "1":
        # 2. 登录操作
        username = input("请输入账号:").strip()
        password = input("请输入密码:").strip()
        user = {
            'username': username,
            'password': password
        }
        # 判断账号密码是否正确
        if user in user_list.values():
            print("登录成功")
            # 登录成功,展示首页页面
            while True:
                 # 3. 主页界面
                os.system("cls")
                print("\t\t学生管理系统-主页")
                print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
                print("\t\t1. 录入学员信息")
                print("\t\t2. 删除学员信息")
                print("\t\t3. 修改学员信息")
                print("\t\t4. 查询学员信息")
                print("\t\t5. 返回首页·")
                print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
                # 4. 功能流程(增加、删除、查询、退出)
                choice = input("请输入您的选项:")
                if choice == "1":

                    # 录入学员信息
                    id = input("请输入学号:").strip()
                    name = input("请输入姓名:").strip()
                    age = input("请输入年龄:").strip()
                    gender = input("请输入性别(男/女):").strip()
                    score = input("请输入计算机成绩:").strip()
                    # 创建学员字典
                    stu_dict = {
                         "id": id, "name": name, "age": age, "gender": gender, "score": score
                         # name, age, gender, score
                        }
                    stu_list[id] = stu_dict


                    # print(stu_list, "查看结果(临时代码)")
                    input("学员信息录入成功,按任意键返回主页")
                elif choice == "2":
                    # 删除学员信息
                    a = input("请输入要删除的学员编号:")
                    if a in stu_list.keys():
                         # 展示要删除的学员信息
                        print("----------------------------------------")
                        print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
                        print(stu_list[a].get("id"),  stu_list[a].get("name"),  stu_list[a].get("age"),
                             stu_list[a].get("gender"), stu_list[a].get("score"), sep="--|--")
                        print("----------------------------------------")
                        isDel = input("确定要删除该学员吗(Y/N)?")
                        if isDel == "Y":
                            del stu_list[a]
                            input("学员信息删除成功,按任意键返回主页")
                        else:
                            input("用户取消了删除操作,按任意键返回主页")

                    else:
                        input("未找到该学员,请检查编号是否正确,按任意键返回主页")
                elif choice == "3":
                    # 修改学员信息:姓名、性别、年龄
                    id = input("请输入要修改的学员编号:")
                    if id in stu_list.keys():
                        # 展示要删除的学员信息
                        print("----------------------------------------")
                        print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
                        print(stu_list[id].get("id"), stu_list[id].get("name"), stu_list[id].get("age"),
                              stu_list[id].get("gender"), stu_list[id].get("score"), sep="--|--")
                        print("----------------------------------------")
                        ch = input("请输入要修改的属性(1.姓名 2.性别 3.年龄):")

                        if ch == "1":  # 修改姓名
                                name = input("请输入新的姓名:")
                                stu_list[id]["name"] = name
                        elif ch == "2":  # 修改性别
                                gender = input("请输入新的性别:")
                                stu_list[id]["gender"] = gender
                        elif ch == "3":  # 修改年龄
                                age = input("请输入新的年龄:")
                                stu_list[id]["age"] = age
                        else:
                            input("输入错误,按任意键返回主页")
                            break
                        input("修改完成,按任意键返回主页")

                    else:
                        input("没有查询到该编号的学员,按任意键返回主页")
                elif choice == "4":
                    # 查询学员信息
                    print("\t\t学生管理系统-学员信息查看")
                    print("----------------------------------------")
                    print("学号--|--姓名--|--年龄--|--性别--|--计算机成绩--|")
                    for key,value in stu_list.items():
                        print(value['id'],value['name'],value['age'],value['gender'],value['score'],sep="\t")
                        print("----------------------------------------")
                    input("学员信息查看完成,按任意键返回主页")

                elif choice == "5":
                     # 返回首页
                    input("按任意键返回首页")
                    break
                else:
                    input("输入有误,按任意键重新输入!")
        else:
            input("账号或密码错误,按任意键返回首页")

    elif choice == "2":
        username = input("请输入注册账号:").strip()
        if username in user_list.keys():
            input("账号已存在,按任意键返回首页!")

        else:
            password = input("请输入注册密码:")

            # 注册添加新用户
            user_name1 = {}
            new_user = {"username": username, "password": password, }
            user_list["user_name1"] = new_user
            input("新用户注册成功,按任意键返回首页")

    elif choice == "3":
        # 退出系统
        input("按任意键退出")
        exit()
    else:
        print("输入有误,请重新输入!")

作业二

拓张学习偏函数

什么是偏函数

偏函数是一种创建新函数的方式,它通过固定函数的一部分参数来创建一个新的函数。

在 Python 中,可以使用 functools  模块中的 partial  函数来创建偏函数。

例子

from functools import partial

# 原始函数
def add_numbers(a, b):
    return a + b

# 创建偏函数
add_five = partial(add_numbers, 5)

# 调用偏函数
result = add_five(10)
print(result)  

定义了一个 add_numbers  函数用于执行加法操作。然后,使用 partial  函数创建了一个偏函数 add_five ,它固定了第一个参数为 5 。最后,调用偏函数 add_five  并传入另一个参数 10 ,得到结果。

为什么使用偏函数

在 Python 中,使用偏函数可以将一个函数的部分参数固定,生成一个新的函数。这样可以简化函数的调用,提高代码的可读性和可维护性。

原因:
 
1. 简化函数调用:通过将常用的参数固定,可以减少在函数调用时需要传递的参数数量,使函数调用更加简洁。
2. 提高代码的可读性:使用偏函数可以更清晰地表达函数的意图,让其他开发者更容易理解代码的逻辑。
3. 代码复用:偏函数可以作为一个独立的函数对象在代码中复用,避免了重复定义相同功能的函数。
4. 默认参数设置:偏函数可以用于设置函数的默认参数,当没有提供特定参数时,将使用默认值。
5. 动态参数调整:可以根据不同的需求动态地调整偏函数的参数,实现更灵活的功能。

偏函数有哪些使用场景

偏函数的使用场景包括但不限于以下几种:
 
- 重复代码:当需要多次调用具有相同参数的函数时,使用偏函数可以避免重复编写相同的代码。
- 简化函数调用:当需要多次调用具有相同部分参数的函数时,偏函数可以简化参数传递过程。
- 构建复杂的控制流:偏函数可以用于构建更复杂的控制流程,例如,通过组合多个偏函数实现更复杂的逻辑。
- 默认参数设置:偏函数可以用于设置函数的默认参数,当没有提供特定参数时,将使用默认值。
- 动态参数调整:可以根据不同的需求动态地调整偏函数的参数,实现更灵活的功能。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值