2018-10-11day10作业

1.

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

list1 = [1, 2, 3, 4]
def change(list_c):
    for x in list_c[::-1]:
        list_c.remove(x)
        list_c.append(x)
    return list_c
print(change(list1))

2.

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

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

3.

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

judge = lambda y: ((y % 4 == 0) & (y % 100 != 0)) | (y % 400 == 0)
print('111', judge(2100))

4.

使用递归打印:

```

n = 3

的时候

@

@ @ @

@ @ @ @ @

n = 4

的时候:

@

@ @ @

@ @ @ @ @

@ @ @ @ @ @ @

```

def print_star(n):
    str4 = ''
    if n == 1:
        print('*')
        return
    print_star(n - 1)
    str4 = '*'*(2*n-1)
    print(str4.center(n))
    return


print_star(4)

5.

写函数, 利用递归获取斐波那契数列中的第

10

个数,并将该值返回给调用者。斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...

def fibonacci(n=10):
    if n == 1 or n == 2:
        return 1
    return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))

6.

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

list6 = [32, 33, 56, 99, 12, 80, 56]


def take6(list):
    num_m = 0
    average = 0
    for x in range(len(list)):
        if list[x] >= num_m:
            num_m = list[x]
    average = sum(list)/x
    return num_m, average


print(take6(list6))

7.

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

list7 = [1, 23, 4, 5, 6, 9]

def take7(nums):
    list7_t = []
    for x in nums[::2]:
        list7_t.append(x)
    return list7_t
print(take7(list7))

8.

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

yt_update(字典1, 字典2)

dict8_a = {'a': 1, 'b': 2}
dict8_b = {'b': 3, 'c': 3, 'd':7}
def change8(dict1, dict2):
        for x in dict1:
            dict2[x] = dict1[x]
        return dict2
print(change8(dict8_a,dict8_b))

9.

实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)

yt_items(字典)

例如:{'a': 1, 'b': 2, 'c': 3} - --> [('a', 1), ('b', 2), ('c', 3)]

dict9 = {'a': 1, 'b': 2, 'c': 3}


def change9(dict):
    list9 = []
    list9_z = []
    for x in dict:
        list9_z.append(x)
        list9_z.append(dict[x])
        list9.append(tuple(list9_z))
        del list9_z[0:2]
        print(list9)


change9(dict9)

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