1.写一个函数将一个指定的列表中的元素逆序(例如[1, 2, 3] -> [3, 2, 1])
(注意:不要使用列表自带的逆序函数)
def reverse_list(list1:list):
list2 = []
n = len(list1)
for index in range(n):
list2.append(list1[n-1-index])
return list2
print(reverse_list([1,3,4,6,5]))
输出:
[5, 6, 4, 3, 1]
2.写一个函数,提取出字符串中所有奇数位上的字符
def get_str(str1:str):
str2 = ''
str2 += str1[1::2]
return str2
print(get_str('asdfre3$%#&%'))
输出:
sfe$#%
3.写一个匿名函数,判断指定的年是否是闰年
leap_year = lambda year:(year % 4 == 0 & year % 100 != 0 or year % 400 ==0)
result = leap_year(2000)
if result is True:
print('闰年')
else:
print('不是闰年')
输出:
闰年
4.
![](https://img.haomeiwen.com/i13692253/2785ca29b424043a.png)
def str(n):
if n == 1:
print('@')
return
str(n-1)
print('@'*n)
str(4)
输出:
@
@@
@@@
@@@@
5.写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
def check_list(list1:list):
list2 = []
if len(list1) > 2:
list2.append(list1[0])
list2.append(list1[1])
return list2
print(check_list(['a','%',1,True,'王','xyz']))
输出:
['a', '%']
6.写函数,利用递归获取斐波纳挈数列中的第10个值,并将该值返回给调用者
def fei(n):
if n == 1 or n ==2:
return 1
return fei(n-1) + fei(n-2)
print(fei(10))
输出:
55
7.写一个函数,获取列表中的成绩的平均值和最高分
get_score = lambda list1:(sum(list1)/len(list1),max(list1))
average,max = get_score([1,3,9,12,34,121])
print('平均值为:%.2f,最大值为:%d' % (average,max))
输出:
平均值为:30.00,最大值为:121
8写一个函数,检查获取传入列表或元组对象的所有基数位索引对应的元素并将其作为新的列表返回给调用者
def get_list(list1):
list2 = []
for index in range(len(list1)):
if index %2 != 0:
list2.append(list1[index])
return list2
print(get_list(['a','%',1,True,'王','xyz']))
输出:
['%', True, 'xyz']
9写一个属于自己的数学模块(封装自己认为以后常用的数学相关的函数和变量)和列表模块(封装自己认为以后常用的列表的相关操作)
列表模块:
empty = []
def count(list1):
"""
统计数字列表中所有元素的和
:param list1:
:return:
"""
num = 0
for item in list1:
num += item
return num
调用:
import my_list
#使用模块中的全局变量
print(my_list.empty)
num = my_list.count([1,2,3,4,3,1,3])
print(num)
输出:
数字列表元素和为:17
网友评论