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

你可能感兴趣的:(day10-作业)