1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)
def list1_nixue_yuansu_(list1):
list2 = list1[::-1]
return list2
def reverse_list(list1:list):
for index in range(len(list1)):
item = list1.pop(index)
list1.insert(0, item)
list2 = [1, 2, 3]
reverse_list(list2)
print(list2)
2.写一个函数,提取出字符串中所有奇数位上的字符
str1 = 'h1j3h12j3'
str2 = ''
def tack_j(str):
global str2
for x in str1[::2]:
str2 += x
return str2
print(tack_j(str2))
3.写一个匿名函数,判断指定的年是否是闰
leap_year = lambda year: (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
print('是否闰年:', run(2000)
4.使用递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def sequence(n):
"""
获取斐波那契数列的第n个数
:param n: 第n个数
:return: 指定位置的上的数
"""
if n == 1 or n == 2:
return 1
# 规律:f(n) = f(n-1) + f(n-2)
return sequence(n-1) + sequence(n-2)
print(sequence(5))
6.写一个函数,获取列表中的成绩的平均值,和最高分
def list_avg_max(list1):
max1 = max(list1)
sum1 = 0
for item in list1:
sum1 += item
avg = sum1/len(list1)
return max1, avg
print(list_avg_max([3,2,8]))
7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def child_list(list1: list):
return list1[1::2]
print([1, 2, 3, 4, 5, 6, 7])
8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
def yt_update(dict1: dict, dict2: dict):
for key in dict2:
dict1[key] = dict2[key]
dict1 = {'a': 1, 'b': 2, 'c': 1}
yt_update(dict1, {'aa': 11, 'bb': 22, 'c': 100})
print(dict1)
9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]
def yt_items(dict1: dict):
"""
将字典转换成列表
:param dict1: 被转换的字典
:return: 列表
"""
new_list = [] # 空列表保存结果
for key in dict1:
# 创建key和value对应的元祖
tuple1 = (key, dict1[key])
# 将元祖添加列表中
new_list.append(tuple1)
return new_list
print(yt_items({'a': 1, 'b': 2, 'c': 3}))
网友评论