day10-课后作业

2018-10-11  本文已影响0人  麻瓜_1fb4

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

def list1_nixue_yuansu_(list1):
    list2 = list1[::-1]
    return list2
def reverse_list(list1:list):
    for index in range(len(list1)):
        item = list1.pop(index)
        list1.insert(0, item)
list2 = [1, 2, 3]
reverse_list(list2)
print(list2)

2.写一个函数,提取出字符串中所有奇数位上的字符

str1 = 'h1j3h12j3'
str2 = ''
def tack_j(str):
    global str2
    for x in str1[::2]:
        str2 += x
    return str2
print(tack_j(str2))

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

leap_year = lambda year: (year % 4 == 0 and year % 100 != 0) or year % 400 == 0

print('是否闰年:', run(2000)

4.使用递归打印:

n = 3的时候   
   @    
  @@@  
 @@@@@ 
 
n = 4的时候: 
    @
   @@@
  @@@@@
 @@@@@@@

5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。

def sequence(n):
    """
    获取斐波那契数列的第n个数
    :param n: 第n个数
    :return: 指定位置的上的数
    """
    if n == 1 or n == 2:
        return 1

    # 规律:f(n) = f(n-1) + f(n-2)
    return sequence(n-1) + sequence(n-2)


print(sequence(5))

6.写一个函数,获取列表中的成绩的平均值,和最高分

def list_avg_max(list1):
    max1 = max(list1)
    sum1 = 0
    for item in list1:
        sum1 += item
    avg = sum1/len(list1)
    return max1, avg
print(list_avg_max([3,2,8]))

7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者

def child_list(list1: list):
    return list1[1::2]


print([1, 2, 3, 4, 5, 6, 7])

8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)

def yt_update(dict1: dict, dict2: dict):
    for key in dict2:
        dict1[key] = dict2[key]


dict1 = {'a': 1, 'b': 2, 'c': 1}
yt_update(dict1, {'aa': 11, 'bb': 22, 'c': 100})
print(dict1)

9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]

def yt_items(dict1: dict):
    """
    将字典转换成列表
    :param dict1: 被转换的字典
    :return: 列表
    """
    new_list = []   # 空列表保存结果
    for key in dict1:
        # 创建key和value对应的元祖
        tuple1 = (key, dict1[key])
        # 将元祖添加列表中
        new_list.append(tuple1)

    return new_list


print(yt_items({'a': 1, 'b': 2, 'c': 3}))
上一篇 下一篇

猜你喜欢

热点阅读