2018-10-11Day10作业

2018-10-11  本文已影响0人  佐手牵鼬手_89a9

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

def dp_reverse(list1:list):
    index=0
    for x in list1[::-1]:
        list1[index]=x
        index+=1
list1=[1,2,3]
dp_reverse(list1)
print(list1)

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

def odd_index(str1:str):
    str2=''
    for index in range(len(str1)):
        if not index&1:
            str2+=str1[index]
    return str2
str1='1234567'
print(odd_index(str1))

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

leap_year=lambda x:(x%4==0 and x%100!=0)or x%400==0
print(leap_year(2000))

4.使用递归打印:

n = 3的时候
   @
  @@@
 @@@@@

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

def my_print(n, m=0):
    if n == 0:
        return
    my_print(n-1, m+1)
    print(' '*m, end='')
    print('@'*(2*n-1))
my_print(7)
# 5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def fib(n=10):
    if n==1 or n==2:
        return 1
    return fib(n-1)+fib(n-2)
print(fib())

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

def mean_max(list1:list):
    max1=0
    sum1=0
    for num in list1:
        sum1+=num
        if num > max1:
            max1 =num
    return sum1/len(list1),max1
print(mean_max([1,2,3,4,5,6]))

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

def add_args(n):
    list1=[]
    for index in range(len(n)):
        if index&1:
            list1.append(n[index])
    return list1
print(add_args([0,1,2,3,4,5,6]))

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

def dp_update(dict1:dict,dict2:dict):
    for key in dict2:
        dict1[key]=dict2[key]
dict1={'a':1,'b':2}
dict2={'b':3,'c':4}
dp_update(dict1,dict2)
print(dict1)

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

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

def dp_items(dict1:dict):
    list1=[]
    for key in dict1:
        tuple1=key,dict1[key]
        list1.append(tuple1)
    return list1
print(dp_items({'a': 1, 'b':2, 'c':3}))
上一篇 下一篇

猜你喜欢

热点阅读