1.写一个函数将一个指定的列表中的元素逆序(例如[1,2,3]-->[3,2,1])(注意:不要使用列表自带的逆序函数)
先建立一个函数
def The_reverse(list1:list):
# 建立一个空的列表
list2 = []
# 从末尾取出列表中的每个元素
for item in list1[::-1]: # for item in list1[-1:-len(list)-1:-1]:
# 把取出的元素放入空的列表中
list2.append(item)
return list2
list2 = The_reverse([1,2,3,4,5,6])
print(list2)
结果:
[6, 5, 4, 3, 2, 1]
2.写一个函数,提取出字符串中所有数奇数位上的字符
def odd(str1:str):
str2 = ''
for item in str1[::2]:
str2 += item
return str2
str2 = odd('123456')
print(str2)
结果:
135
3.写一个匿名函数,判断指定的年是否是闰年
leap = lambda x:bool(x%400)
print(leap(2018))
结果:
True
4.4.使用递归函数打印:
n = 3
@
@@
@@@
n = 4
@
@@
@@@
@@@@
def number(n):
if n == 1:
print('@')
return
number(n-1)
print('@'*n)
number(5)
结果:
@
@@
@@@
@@@@
@@@@@
5.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者
def long_list(list1):
if len(list1) > 2:
return list1[:2]
else:
return list1
list1 = long_list([1,2,3,4,5,6])
print(list1)
结果:
[1, 2]
6.写函数,利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者
def number1(n):
if n == 1 or n == 2:
return 1
return number1(n-2)+ number1(n-1)
print(number1(10))
结果:
55
7.写一个函数,获取列表中的成绩的平均值,和最高分
def my_list(list3):
sum = 0
for item in list3:
sum += item
return sum/len(list3),max(list3)
list3 = [1,2,3,4,5]
print(my_list(list3))
结果:
(3.0, 5)
8.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def type_element(list8):
new_list = []
for item in list8[1::2]:
new_list.append(item)
return new_list
print(type_element([1,2,3,4,5,6]))
print(type_element((1,2,3,True,'ab')))
结果:
[2, 4, 6]
[2, True]