美文网首页
Day10 作业

Day10 作业

作者: ChiAo1fei | 来源:发表于2019-01-06 15:47 被阅读0次
    1. 写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)

      def reverse_list(list1: list):
          for index in range(0, len(list1)//2):
              list1[index], list1[len(list1)-1 - index] = list1[len(list1)-1 - index], list1[index]
          return list1
      
      
      print(reverse_list([1, 2, 3, 4, 5]))
      print(reverse_list([1, 2, 3, 4]))
      
      运行结果:
      [5, 4, 3, 2, 1]
      [4, 3, 2, 1]
      
    2. 写一个函数,提取出字符串中所有奇数位上的字符

      def str_odd(str1:str):
          for i in range(len(str1)):
              if i % 2 == 0:
                  print(str1[i], end=' ')
      
      
      str_odd('abcd')
      print()
      
      运行结果:
      a c 
      
    3. 写一个匿名函数,判断指定的年是否是闰

      is_leapyear = lambda year: year % 4 ==0 and year % 100 != 0 or year % 400 == 0
      
      print(is_leapyear(1900))
      print(is_leapyear(2000))
      print(is_leapyear(2008))
      
      运行结果:
      False
      True
      True
      
    4. 写函数,提去字符串中所有的数字字符。例如: 传入'ahjs233k23sss4k' 返回: '233234'

      def about_num(str1:str):
          str2 = ''
          for i in str1:
              if not 'a' <= i <='z' or 'A' <= i <= 'Z':
                  str2 += i
          return str2
          
       运行结果:
       233234
      
    5. 写一个函数,获取列表中的成绩的平均值,和最高分

      def gain_score(list1: list):
          sum1 = 0
          max1 = 0
          for s in list1:
              sum1 += s
              if max1 < s:
                  max1 = s
          return sum1/len(list1), max1
      
      
      print(gain_score([85, 85, 80, 90]))
      
      运行结果:
      (85.0, 90)
      
    6. 写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者

      def homework_six(item):
          list1 = []
          for index in range(len(item)):
              if index % 2:
                  list1.append(item[index])
          return list1
      
      
      print(homework_six((1, 2, 3, 4, 5, '6')))
      print(homework_six(['asd', '789', 3, 4, 5, '6']))
      
      运行结果:
      [2, 4, '6']
      ['789', 4, '6']
      
    7. 实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)yt_update(字典1, 字典2)

      def ff_update(dict1: dict, dict2: dict):
          for item2 in dict2:
              if item2 in dict1:
                  dict1[item2] = dict2[item2]
              else:
                  dict1[item2] = dict2[item2]
          return dict1
      
      
      print(ff_update({'a':2, 'b': 3}, {'a': 1, 'b': 5, 'c': 6}))
      
      运行结果:
      {'a': 1, 'b': 5, 'c': 6}
      
    8. 实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)yt_items(字典),例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]

      def ff_items(dict1: dict):
          list1 = []
          for key in dict1:
              list1.append((key, dict1[key]))
          return list1
      
      
      print(ff_items({'a': 1, 'b': 2, 'c': 3}))
      
      运行结果:
      [('a', 1), ('b', 2), ('c', 3)]
      
    9. 有一个列表中保存的所一个班的学生信息,使用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}
      ]
      
      
      print(max(all_student, key=lambda x: x['score']))
      print(max(all_student, key=lambda x: x['age']))
      
      运行结果:
      {'name': 'stu22', 'age': 29, 'score': 99}
      {'name': 'stu1', 'age': 30, 'score': 79}
      

    相关文章

      网友评论

          本文标题:Day10 作业

          本文链接:https://www.haomeiwen.com/subject/ejpsrqtx.html