day10作业

  1. 写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)
def g_sort(iterable): list1 = list(iterable) for index1 in range(len(iterable)-1): for index2 in range(index1 + 1,len(iterable)): if list1[index2] > list1[index1]: list1[index1],list1[index2] = list1[index2],list1[index1] print(list1)g_sort([1,2,3]) #[3,2,1]

  1. 写一个函数,提取出字符串中所有奇数位上的字符
def g_str():str1 = input('请输入字符:')for i in range(len(str1)+1):if i & 1 !=0:print(str1[i],end=',')g_str()

  1. 写一个匿名函数,判断指定的年是否是闰
def g_leapyear():year = int(input('请输入年份:'))if (year % 4 ==0 and year % 100 != 0) or(year % 400 ==0):print('%d是闰年' % year)else:print('%d不是闰年' % year)g_leapyear()

  1. 写函数,提去字符串中所有的数字字符。
    例如: 传入'ahjs233k23sss4k' 返回: '233234'
    def g_extstr():
    str1 = input('请输入字符:') for index in str1:if '0' <= index <= '9':print(index,end=',') g_extstr()

  2. 写一个函数,获取列表中的成绩的平均值,和最高分
    def g_score(list1):sum1 = 0for num1 in list1:sum1 +=num1print('平均成绩为:',sum1 / len(list1))print('最高分为:',max(list1)) g_score([30,30,40,42])# 平均成绩为: 35.5最高分为: 42

  3. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def g_ele(*N):list1 =[]for index in range(len(N)):if index & 1 ==1:nums = N[index]list1.append(nums)print(list1)g_ele(10,20,30,40,50,60)

8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
yt_update(字典1, 字典2)
def g_update(dict1,dict2): for key in dict1: for key in dict2: dict1[key] =dict2[key] else: dict1[key] =dict2[key] return dict1d1 = {'name':'张三','age':25,'score':95,'tell':123456} d2 = {'name':'李四','age':27,'score':90} print(g_update(d1,d2)) #{'name': '李四', 'age': 27, 'score': 90, 'tell': 123456}

9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]
def g_items(dict1): list1 = [] for key in dict1: a = key b = dict1[key] c = (a,b) list1.append(c) return list1 d1 = {'a':1,'b':2,'c':3} print(g_items(d1)) #[('a', 1), ('b', 2), ('c', 3)]

1.有一个列表中保存的所一个班的学生信息,使用max函数获取列表中成绩最好的学生信息和年龄最大的学生信息
all_student = [ {'name': '张三', 'age': 19, 'score': 90}, {'name': 'stu1', 'age': 30, 'score': 79}, {'name': 'xiaoming', 'age': 12, 'score': 87}, {'name': 'stu22', 'age': 29, 'score': 99} ]

【day10作业】注意: max和min函数也有参数key
print(max(all_student,key =lambda items:items['score'])) #{'name': 'stu22', 'age': 29, 'score': 99}print(max(all_student,key=lambdaitems:items['age'])) #{'name': 'stu1', 'age': 30, 'score': 79}

    推荐阅读