1.写⼀一个函数将⼀一个指定的列列表中的元素逆序(例例如[1, 2, 3] -> [3, 2, 1])(注意:不不要使⽤用列列表⾃自带的逆序函数)
def reverse(n):
list1 = []
for item in n:
list1.insert(0,item)
return list1
list = [1,2,3]
print(reverse(list))
->
[3, 2, 1]
2.写⼀一个函数,提取出字符串串中所有奇数位上的字符
def extract(str):
str1 = ''
for i in range(1,len(str),2):
str1 += str[i]
return str1
str = 'abcdefgh'
print(extract(str))
3.写⼀个匿名函数,判断指定的年是否是闰年
a =lambda x: x%4==0 and x%100!=0
a(2018)
-->
True
4.使⽤用递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
def print_star(n,i=0)
if n == 1:
print(' '*i,"@"*n)
else:
print_star(n-1,i+1)
print(' '*i,'@'*n)
-->
print_star(5)
5.写函数,检查传⼊入列列表的⻓长度,如果⼤大于2,那么仅保留留前两个⻓长度的内容,并将新内容返回给调⽤用者。
def my_len(list):
n = len(list)
if n > 2:
return list[:2]
list = [1,2,3,4]
print(my_len(list))
-->
[1, 2]
6.写函数,利利⽤用递归获取斐波那契数列列中的第 10 个数,并将该值返回给调⽤用者。
def my_find(n):
f1=1
f2=1
if n == 1 or n == 2:
return 1
else:
return my_find(n-1) + my_find(n-2)
print(my_find(10))
-->
55
7.写⼀一个函数,获取列列表中的成绩的平均值,和最⾼高分
def my_avg(list):
total =0
max=list[0]
for item in list:
if max < item:
max = item
total += item
avg = total/len(list)
return avg,max
list = [90,91,92,93,89,88,87]
print('平均值为%d,最高分为%d'%(my_avg(list)))
-->
平均值为90,最高分为93
8.写函数,检查获取传⼊入列列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列列表返回给调⽤用者
list1 = [1,2,3,4,5,6,7,8,9]
def my_odd(list):
list2 = []
for i in range(1,len(list),2):
list2.append(list[i])
return list2
print(my_odd(list1))
-->
[2, 4, 6, 8]