day10-作业

  1. 写一个匿名函数,判断指定的年是否是闰年
leap_year = lambda num: "是闰年" if num%400 == 0 or (num%4 == 0 and num%100 != 0) else "不是闰年"
  1. 写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])
    (注意:不要使用列表自带的逆序函数)
def zh_reverse(list1: list):
    """
    列表元素逆序
    :param list1: 列表
    :return: 无
    """
    length = len(list1)
    for index in range(length//2):
        list1[index], list1[length - index - 1] = list1[length - index - 1], list1[index]
  1. 写一个函数,获取指定列表中指定元素的下标(如果指定元素有多个,将每个元素的下标都返回)
    例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3
def zh_index(list1: list, data):
    """
    获取指定元素下标
    :param list1: 列表
    :param data: 元素
    :return: 字符串
    """
    new_str = ''
    for index in range(len(list1)):
        if list1[index] == data:
            new_str += str(index)
    return ','.join(new_str)
  1. 写一个函数,能够将一个字典中的键值对添加到另外一个字典中(不使用字典自带的update方法)
def zh_update(dict1: dict, dict2: dict):
    """
    将dict2添加到dict1中
    :param dict1: 字典1
    :param dict2: 字典2
    :return: 无
    """
    for key in dict2:
        dict1[key] = dict2[key]
  1. 写一个函数,能够将指定字符串中的所有的小写字母转换成大写字母;
    所有的大写字母转换成小写字母(不能使用字符串相关方法)
def zh_exchange(str1: str):
    """
    大小写字母转换
    :param str1: 字符串
    :return: 字符串
    """
    new_str = ''
    for ch in str1:
        if 'a' <= ch <= 'z':
            new_str += chr(ord(ch) - 32)
        elif 'A' <= ch <= 'Z':
            new_str += chr(ord(ch) + 32)
        else:
            new_str += ch
    return new_str
  1. 实现一个属于自己的items方法,可以将自定的字典转换成列表。
    列表中的元素是小的列表,里面是key和value (不能使用字典的items方法)
    例如:{'a':1, 'b':2} 转换成 [['a', 1], ['b', 2]]
def zh_items(dict1: dict):
    """
    将字典转换成列表
    :param dict1: 字典
    :return: 列表
    """
    new_list = []
    for key in dict1:
        list1 = list((key, dict1[key]))
        new_list.append(list1)
    return new_list
  1. 写一个函数,实现学生的添加功能:
    =============添加学生================
    输入学生姓名: 张胜
    输入学生年龄: 23
    输入学生电话: 15634223
    ===添加成功!
    '姓名':'张胜', '年龄':23, '电话:15634223', '学号':'0001'
    =====================================
    1.继续
    2.返回
    请选择: 1
    =============添加学生================
    输入学生姓名: 李四
    输入学生年龄: 18
    输入学生电话: 157234423
    ===添加成功!
    '姓名':'张胜', '年龄':23, '电话:15634223', '学号':'0001'
    '姓名':'李四', '年龄':18, '电话:157234423', '学号':'0002'
    =====================================
    1.继续
    2.返回
    请选择:
def zh_add_stu():
    """
    添加学生功能
    :return: 无
    """
    keys = ['姓名', '年龄', '电话', '学号']
    sno = '1'
    stu_list = []
    stu_dict = {}
    while True:
        print("添加学生".center(20, '='))
        for item in keys[:-1]:
            if item == '年龄':
                data = int(input("请输入学生{}:".format(item)))
            else:
                data = input("请输入学生{}:".format(item))
            stu_dict[item] = data
        stu_dict[keys[-1]] = sno.zfill(4)
        stu_list.append(stu_dict)
        stu_dict = {}
        print("添加成功!".rjust(10, '='))
        for item_dict in stu_list:
            print(item_dict)
        select = input("1.继续\n2.返回\n请选择:")
        if select != '1':
            break
        sno = str(int(sno) + 1)
    return stu_list
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 1,009评论 0 1
  • 写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带...
    ChiAo1fei阅读 128评论 0 0
  • 编写函数,求1+2+3+…N的和 编写一个函数,求多个数中的最大值 编写一个函数,实现摇骰子的功能,打印N个骰子的...
    __e145阅读 386评论 0 0
  • 1. 写一个函数将一个指定的列表中的元素逆序(如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表...
    Heyjoky阅读 163评论 0 0
  • 1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表...
    巫岷俊阅读 161评论 0 0