1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)
def lixu(one_list):
return one_list[::-1]
print(lixu([1, 2, 3]))
输出:
[3, 2, 1]
2.写一个函数,提取出字符串中所有奇数位上的字符
def getjishu_str(one_str):
return list(one_str)[1::2]
print(getjishu_str('qwertyuiop'))
输出:
['w', 'r', 'y', 'i', 'p']
3.写一个匿名函数,判断指定的年是否是闰年
isrunnian = lambda x: bool((x%4==0 and x%100!=0)or x%400==0)
print(isrunnian(404))
输出:
True
'''
4.使⽤递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
'''
def star(cow, space=0):
if cow > 0:
star(cow-1, space+1)
print(' '*space, '*'*(2*cow-1))
print(star(5,))
输出:
*
***
*****
*******
*********
5.写函数,检查传递列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def get_long2(one_list):
if len(one_list) > 2:
return one_list[0:2]
else:
print('长度小于2')
print(get_long2([1,2,3,4,5,6,7]))
输出:
[1, 2]
6.写函数,利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者。
def feibo(n):
if n == 1 or n ==2:
return 1
return feibo(n-1)+feibo(n-2)
print(feibo(10))
输出
55
7.写一个函数,获取列表中的成绩的平均值,和最高分
def avandmax(one_list):
max = one_list[1]
av =1
for x in one_list:
av = av/x
if x > max:
max = x
return [av,max]
print(avandmax([1,2,3,4,5,6,7,8]))
输出:
[2.48015873015873e-05, 8]
8.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者。
def getjishu_str(one_str):
return list(one_str)[1::2]
print(getjishu_str('qwweeerrtt'))
print(getjishu_str(('q','w','w','e','e','e','r','r','t','t')))
输出:
['w', 'e', 'e', 'r', 't']
['w', 'e', 'e', 'r', 't']