1.写⼀个函数将⼀个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])
(注意:不要使⽤列表⾃带的逆序函数)
def my_reverse(list1):
list2 = list1[::-1]
print(list2)
return list2
my_reverse([1,2,3])
# 老师讲解
def my_reverse(list1):
for index in range(len(list1)):
# 取出元素
item = list1.pop(index)
# 插入元素
list1.insert(0,item)
list2 = [1,2,3]
my_reverse(list2)
print(list2)
[3, 2, 1]
Process finished with exit code 0
2.写⼀个函数,提取出字符串中所有奇数位上的字符
def my_extract(str1):
list1 = []
for item in str1:
list1.append(item)
for i in list1[::2]:
print(i,end='')
return str1
my_extract('123dsa45dsd6')
# 老师讲解
def my_extract(str1):
new_str = str1[0::2]
return new_str
print(my_extract('123dsa45dsd6'))
13s4dd
Process finished with exit code 0
3.写⼀个匿名函数,判断指定的年是否是闰年
def leapyear(x):
runnian = lambda x:(x%4 and not (x%100)) or x%400==0
if runnian(x):
print('是闰年')
else:
print('不是闰年')
leapyear(1900)
# 老师讲解
runnian = lambda x: (x % 4 and not (x % 100)) or x % 400 == 0
print(runnian(1900))
不是闰年
Process finished with exit code 0
4.使⽤递归打印:
def star(n,s=0):
if n == 1:
print(' '*s,'*')
else:
star(n-1,s+1)
print( ' '*s,'*'*(2*n-1))
print('n = 3的时候')
star(3)
print('n = 4的时候')
star(4)
# 老师讲解
"""
1:space - 3 @ - 1
2:space - 2 @ - 3
3:space - 1 @ - 5
4:space - 0 @ - 7
space:n-行数 -----从下往上从0开始一次加1 ----从上往下是从n-1
@:2*n-1
"""
def star(n,m=0):
if n == 0:
return None
star(n-1,m+1)
print(' '*m,end='')
print('@'*(2*n-1))
star(4)
star(3)
n = 3的时候
*
***
*****
n = 4的时候
*
***
*****
*******
Process finished with exit code 0
5.写函数,检查传⼊列表的⻓度,如果⼤于2,那么仅保留前两个⻓度的内容,并将新内容返回给调⽤者。
def checklen(list1):
if len(list1) > 2:
print(list1[0:2])
return
checklen([1,2,3,6,5])
[1, 2]
Process finished with exit code 0
6.写函数,利⽤递归获取斐波那契数列中的第 10 个数,并将该值返回给调⽤者。
def fibonacc(n):
if n == 1:
return 1
elif n == 2:
return 1
return fibonacc(n-1)+fibonacc(n-2)
print(fibonacc(10))
55
Process finished with exit code 0
7.写⼀个函数,获取列表中的成绩的平均值,和最⾼分
def extract(list1):
aver = sum(list1)/len(list1)
max1 = max(list1)
print('列表平均值为%d'% aver)
print('列表最大值为%d'%max1)
extract([1,2,3,4,5])
# 老师讲解
def extract(list1):
return sum(list1)/len(list1),max(list1)
ave,max1 = extract([1,2,3,4,5])
print(ave,max1)
列表平均值为3
列表最大值为5
Process finished with exit code 0
8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调⽤者
def checkself(list1):
list2 = []
for item in list1[1::2]:
list2.append(item)
print(list2)
checkself([1,2,3,4,5,6])
checkself((1,2,3,4,5,6))
[2, 4, 6]
[2, 4, 6]
Process finished with exit code 0