7.python-函数练习2

定义函数,将列表中大于某个值的元素设置为None

"""
    定义函数,将列表中大于某个值的元素设置为None
                  参数                                       结果

      [34, 545, 56, 7, 78, 8]  -10-> [None,None,None,7,None,8]

      [34, 545, 56, 7, 78, 8]  -100-> [34, None, 56, 7, 78, 8]
"""


def set_gt_value(target_list: list, num: int):
    """
        将目标列表大于指定值的元素设置为None
    :param target_list: list类型 目标列表
    :param num:  int类型 指定值
    """
    for i in range(len(target_list)):
        if target_list[i] > num:
            target_list[i] = None


list01 = [2, 3, 4, 1, 123, 1, 1341, 4, 14, 1, 456, 364, 77, 27, 85]

set_gt_value(list01, 200)
print(list01)  # [2, 3, 4, 1, 123, 1, None, 4, 14, 1, None, None, 77, 27, 85]

定义函数,根据年月日计算是这一年的第几天

"""
    定义函数,根据年月日计算是这一年的第几天.
          如果2月是闰年,则29天平年28
"""


def calculate_total_number_days(target_year: int, target_month: int, target_day: int):
    """
        计算指定年月日是一年中的第几天
    :param target_year: int类型 年
    :param target_month: int类型 月
    :param target_day: int类型 日
    :return: int类型 总天数
    """
    list_day = [31, calculate_two_month_days(target_year), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    # total_day = 0
    total_day = sum(list_day[:target_month - 1])
    total_day += target_day
    return total_day


def calculate_two_month_days(target_year: int):
    """
        计算2月天数
    :param target_year:int类型 目标年份
    :return:
    """
    # 判断是否是闰年
    if target_year % 4 == 0 and target_year % 100 != 0 or target_year % 400 == 0:
        return 29
    return 28


print(calculate_total_number_days(2022, 12, 14))  # 348

疫情管理系统v2

def main():
    while True:
        display_menu()
        select_menu()


def display_menu():
    print("按1键录入疫情信息")
    print("按2键显示疫情信息")
    print("按3键删除疫情信息")
    print("按4键修改疫情信息")


def select_menu():
    number = input("请输入您的选择:")
    if number == "1":
        input_epidemic()
    elif number == "2":
        display_epidemic()
    elif number == "3":
        delete_epidemic()
    elif number == "4":
        modify_epidemic()
    else:
        print("操作错误,请重新操作")


def input_epidemic():
    dict_epidemic = {
        "region": input("请输入疫情地区:"),
        "new": int(input("请输入疫情新增:")),
        "now": int(input("请输入疫情现有:")),
        "total": int(input("请输入疫情累计:"))
    }
    list_epidemic.append(dict_epidemic)


def display_epidemic():
    for item in list_epidemic:
        print("疫情地区:%s 疫情新增:%s 疫情现有:%s 疫情累计:%s" % (item["region"], item["new"], item["now"], item["total"]))


def delete_epidemic():
    old = input("请输入要删除的疫情地区:")
    find = False
    for i in range(len(list_epidemic)):
        if old == list_epidemic[i]["region"]:
            del list_epidemic[i]
            print("删除成功")
            find = True
            break
    if not find:
        print("没有找到要删除的地区,请重新选择")


def modify_epidemic():
    old = input("请输入要修改的疫情地区:")
    find = False
    for item in list_epidemic:
        if old == item["region"]:
            item["region"] = input("请输入修改后的疫情地区:")
            item["new"] = int(input("请输入修改后的疫情新增:"))
            item["now"] = int(input("请输入修改后的疫情现有:"))
            item["total"] = int(input("请输入修改后的疫情累计:"))
            print("修改完成")
            find = True
            break
    if not find:
        print("没有找到要修改的疫情地区,请重新选择")


list_epidemic = []
main()

汽车管理系统V2

def main():
    while True:
        display_menu()
        select_menu()


def display_menu():
    print("按1键录入汽车菜单")
    print("按2键显示汽车菜单")
    print("按3键删除汽车菜单")
    print("按4键修改汽车菜单")


def select_menu():
    number = input("请输入您的选择:")
    if number == "1":
        input_car()
    elif number == "2":
        display_car()
    elif number == "3":
        delete_car()
    elif number == "4":
        modify_car()
    else:
        print("操作有误,请重新选择")


def input_car():
    dict_car = {
        "brand": input("请输入汽车品牌:"),
        "mold": input("请输入汽车型号:"),
        "price": int(input("请输入汽车的价格:"))
    }
    list_car.append(dict_car)


def display_car():
    for item in list_car:
        print("汽车品牌:%s 汽车型号:%s 汽车价格:%s" % (item["brand"], item["mold"], item["price"]))


def delete_car():
    old = input("请输入要删除的汽车:")
    find = False
    for i in range(len(list_car)):
        if old == list_car[i]["brand"]:
            del list_car[i]
            print("删除成功")
            find = True
            break
    if not find:
        print("没有找到要删除的汽车,请重新输入")


def modify_car():
    old = input("请输入要修改的汽车:")
    find = False
    for item in list_car:
        if old == item["brand"]:
            item["brand"] = input("请输入修改后的汽车品牌:")
            item["mold"] = input("请输入修改后的汽车型号:")
            item["price"] = input("请输入修改后的汽车价格")
            print("修改成功")
            find = True
            break
    if not find:
        print("没有找到要修改的汽车,请重新选择")


list_car = []
main()

参数的使用练习

"""
    定义函数,根据小时、分钟、秒,计算总秒数
    调用:提供小时、分钟、秒
    调用:提供分钟、秒
    调用:提供小时、秒
    调用:提供分钟
"""


def calculate_total_second(hour=1, minute=1, second=1) -> int:
    """
        根据时分秒计算总秒数
    :param hour: int类型 小时
    :param minute: int类型 分钟
    :param second: int类型 秒数
    :return: int类型 总秒数
    """
    total_second = hour * 60 * 60 + minute * 60 + second
    return total_second


print(calculate_total_second(2, 2, 2))  # 按位置顺序传递对应参数
print(calculate_total_second(minute=3, second=3))  # 默认参数和关键字参数配合,只传递分钟和秒,小时使用默认
print(calculate_total_second(4, 4))  # 按位置顺序传递小时和分钟,秒使用默认
print(calculate_total_second(minute=5))  # 默认参数和关键字参数配合,只传递分钟,小时和秒数使用默认

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

定义函数,将列表中大于某个值的元素设置为None
posted @ 2022-12-14 13:53  跃动指尖  阅读(86)  评论(0)    收藏  举报