1.写⼀个函数将⼀个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使⽤列表⾃带的逆序函数)
def list1(a):
for i in range(len(a)):
yuansu = a.pop(i)
a.insert(0, yuansu)
return a
a = [4, 2, 5, 1, 3]
print(list1(a))
结果
[3, 1, 5, 2, 4]
2.写⼀个函数,提取出字符串中所有奇数位上的字符
def str1(a):
str2 = ''
count = 0
for item in a:
count += 1
if count % 2 != 0:
str2 += item
return str2
a = 'chenzhuo1234'
print(str1(a))
结果
cezu13
3.写⼀个匿名函数,判断指定的年是否是闰年
year= lambda x:'是闰年' if x % 4 == 0 else '不是闰年'
print('2018年:'+year(2018))
结果
2018年:不是闰年
4.使⽤递归打印:
n = 3的时候
( @
( @@@
( @@@@@
def star(n):
if n == 1:
print(' ' * (9 - n), end='')
print('@')
return
star(n - 1)
print(' ' * (9-n),end='')
print('@' * (2*n-1))
star(9)
结果
@
@@@
@@@@@
@@@@@@@
@@@@@@@@@
@@@@@@@@@@@
@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@
5.写函数,检查传⼊列表的⻓度,如果⼤于2,那么仅保留前两个⻓度的内容,并将新内容返回给调⽤者。
def list1(a):
if len(a) > 2:
b = []
count = 0
for item in a:
count += 1
if count<=2:
b.append(item)
return b
a = [4, 2, 5, 1, 3]
print(list1(a))
结果
[4, 2]
6.写函数,利⽤递归获取斐波那契数列中的第 10 个数,并将该值返回给调⽤者。
def number(a):
if a == 1 or a == 2:
return 1
return number(a-1)+number(a-2)
print(number(10))
结果
55
7.写⼀个函数,获取列表中的成绩的平均值和最⾼分
def list1(a):
return sum(a)/len(a),max(a)
a = [84, 92, 75, 91, 63]
print('平均值和最⾼分分别为:',list1(a))
结果
平均值和最⾼分分别为: (81.0, 92)
8.写函数,检查获取传⼊列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调
def str1(a):
str2 = []
count = -1
for item in a:
count += 1
if count % 2 != 0:
str2.append(item)
return str2
a = [4, 2, 5, 1, 3]
print(str1(a))
结果
[2, 1]
网友评论