第二周-周末作业2

1.写一个匿名函数,判断指定的年是否是闰年

year = lambda y: True if y%4==0 and y%100!=0 or y%400==0 else False

print(year(2019))

2.写一个函数将一个指定的列表中的元素逆序
( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)

# 法1
def reverse(list1):
    list2 = []
    for i in list1[-1::-1]:
        list2.append(i)
    print(list2)


reverse([1, 2, 3, 4, 5])


# 法2
def reverse(list1):
    for i in range(len(list1)//2):
        list1[i], list1[-i-1] = list1[-i-1], list1[i]
    print(list1)


reverse([1, 2, 3, 4, 5])

3.写一个函数,获取指定列表中指定元素的下标
(如果指定元素有多个,将每个元素的下标都返回)

def index1(list1, item1):
    count1 = 0
    list2 = []
    for index in range(len(list1)):
        if item1 == list1[index]:
            count1 += 1
            list2.append(index)
    if count1 == 0:
        print(-1)
    return list2


list3 = index1([1,3,4,1], 1)
print(list3)

4.写一个函数,能够将一个字典中的键值对添加到另外一个字典中(不使用字典自带的update方法)

def add1(dict1, dict2):
    for key in dict1:
        dict2[key] = dict1[key]
    print(dict2)


add1({'a': 10, 'c': 20}, {'b': 100})

5.写一个函数,能够将指定字符串中的所有的小写字母转换成大写字母; 所有的大写字母转换成小写字母(不能使用字符串相关方法)

def change1(str1):
    str2 = ''
    for x in str1:
        if 'a' <= x <= 'z':
            str2 += chr(ord(x)-32)
        elif 'A' <= x <= 'Z':
            str2 += chr(ord(x)+32)
        else:
            str2 += x
    print(str2)


change1('asaZZAAdsa2154')

6.实现一个属于自己的items方法,可以将自定的字典转换成列表。列表中的元素是小的列表,里面是key和value (不能使用字典的items方法)
例如:{'a':1, 'b':2} 转换成 [['a', 1], ['b', 2]]

def transform1(dict1):
    list2 = []
    for key in dict1:
        list1 = []
        list1.append(key)
        list1.append(dict1[key])
        list2.append(list1)

    print(list2)


transform1({'a': 1, 'b': 2})

7.写一个函数,实现学生的添加功能


def stu1():
    list1 = []
    stu_num = 1
    while True:
        dict1 = {}
        print('=========添加学生==========')
        print('输入学生姓名', end=':')
        name = input()
        dict1['姓名'] = name
        print('输入学生年龄', end=':')
        age = int(input())
        dict1['年龄'] = age
        print('输入学生电话', end=':')
        tel = int(input())
        dict1['电话'] = tel
        print('====添加成功')
        new_stu = str(stu_num)
        stu2 = new_stu.rjust(4, '0')
        dict1['学号'] = stu2
        stu_num += 1
        list1.append(dict1)
        for x in list1:
            print(x)
        print('==================')
        print('1.继续')
        print('2.返回')
        print('请选择:', end='')
        dec = int(input())
        if dec == 1:
            continue
        elif dec == 2:
            break


stu1()

你可能感兴趣的:(第二周-周末作业2)