1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自带的逆序函数)
def reverse(list1:list):
list2 = []
for i in range(len(list1)):
list2.append(max(list1))
list1.remove(max(list1))
return list2
print(reverse([3,2,1]))
输出结果为
[3, 2, 1]`
2.写一个函数,提取出字符串中所有奇数位上的字符
def odd_seat(str1:str):
list1 = []
for item in str1[::2]:
list1.append(item)
return list1
print(odd_seat('ABCDEFGHIJK'))
输出结果为
['A', 'C', 'E', 'G', 'I', 'K']
3.写一个匿名函数,判断指定的年是否是闰年
def leap_year(num:int):
if (num % 4 == 0 and num % 4 != 100) or (num % 400 == 0):
print('是闰年')
else:
print('不是闰年')
leap_year(2004)
输出结果为
是闰年
4.使用递归打印:
第四题
def prt(n:int):
if n == 1:
print('@')
return
prt(n-1)
print('@' * n)
prt(5)
输出结果为
@
@@
@@@
@@@@
@@@@@
5.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def first_two(list1:list):
if len(list1) > 2:
return list1[:2]
list2 = first_two(['a','b','c','d','e','f'])
print(list2)
输出结果为
['a', 'b']
6.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。(自己背着写)
def fblq(n:int):
if n == 1 or n == 2:
return 1
return fblq(n -1) + fblq(n - 2)
print(fblq(10))
输出结果为
55
7.写一个函数,获取列表中的成绩的平均值,和最高分
def score(list1:list):
sum1 = 0
for item in list1:
sum1 += item
return sum1 / len(list1), max(list1)
avg_score,max_score = score([88 , 90, 65, 74, 99, 100, 56, 82, 94])
print('平均值为:%.1f\n最高分为:%d' % (avg_score, max_score))
输出结果为
平均值为:83.1
最高分为:100
8.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def odd_id(nums):
list1 = []
for item in nums[1::2]:
list1.append(item)
return list1
list2 = odd_id((1,2,3,4,5,6,7,8,9))
print(list2)
输出结果为
[2, 4, 6, 8]
9写一个属于自己的数学模块(封装自己认为以后常用的数学相关的函数和变量)和列表模块(封装自己认为以后常用的列表相关的操作)
网友评论