day9 作业

2018-07-25  本文已影响0人  七夜_174e

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

def ni_list(list1):
    for index in range(len(list1)):
        #取出对应元素
            item = list1.pop(index)
          #插入到最前面
            list1.insert(0,item)
    

print(ni_list([1,2,3]))
[3, 2, 1]

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

def find_str(string):
    str1 = string[0::2]    #声明一个空串用来保存提取出来的字符
    return str1

print(find_str('sdawe2133da!!'))
sdaweda

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

def find_years(years):
    if years % 100 == 0 and years % 400 == 0:
        print('%s是闰年' % years)

    elif years % 100 != 0 and years % 4 == 0:
        print('%s是闰年' % years)
    else:
        print('%s不是闰年' % years)


find_years(2019)

year = lambda x: ('%s是闰年' % x) if x % 100 == 0 and x % 400 == 0 or x % 100 != 0 and x % 4 == 0 else ('%s不是闰年' % x)

print(year(2020))
2019不是闰年
2020是闰年

4.使用递归打印:

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

def print_star(n, m=0):
    s = '@' * (n * 2 - 1)
    if n == 0:
        return
    print_star(n-1, m+1)
    print(' ' * m, end='')
    print(s)

print_star(5)
    @
   @@@
  @@@@@
 @@@@@@@
@@@@@@@@@

5.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。

def check_list(list1):
    list2 = []
    if len(list1) >= 2:
        list2.append(list1[0])
        list2.append(list1[1])
    return list2

print(check_list([1, '3224d', '!!!!', 4]))
[1, '3224d']

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


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


print(sum2())
55

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

def get_score(scores):
    sum1 = 0
    return sum(scores)/len(scores), max(scores)

print(get_score([13, 435, 54, 233]))

(183.75, 435)

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

利用切片
上一篇下一篇

猜你喜欢

热点阅读