1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)
def fzx_sort(list1: list):
index = 0
for item in list1[:]:
list1.insert(index, list1.pop())
index += 1
list2 = [17, 2, 8, 4, 7, 6]
fzx_sort(list2)
print(list2)
2.写一个函数,提取出字符串中所有奇数位上的字符
def fzx_strs(str1: str):
print(str1[1::2])
fzx_strs("0123456789")
3.写一个匿名函数,判断指定的年是否是闰
fzx_run = lambda n: (((n % 4 == 0) & (n % 100 != 0))|(n % 400 == 0))
print(fzx_run(2001))
4.使用递归打印:
```
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
```
def fzx_print(n):
if n >= 1:
fzx_print(n - 1)
print("@"*(2*n-1))
else:
return
fzx_print(3)
5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def fzx_fb(num):
if num == 1:
return 0
if num == 2:
return 1
if num == 3:
return 1
else:
return fzx_fb(num-1)+fzx_fb(num-2)
print(fzx_fb(10))
6.写一个函数,获取列表中的成绩的平均值,和最高分
def fzx_list(list1):
sum1 = 0
max_num = 0
count = 0
for x in list1:
sum1 += x
count += 1
if x > max_num:
max_num = x
return (sum1 / count), max_num
print(fzx_list([86, 60, 84, 78, 99, 76, 88]))
7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def fzx_list2(xu_lie):
list3 = xu_lie[1::2]
return list3
re = fzx_list2([1, 3, 5, 6, 9, 7])
print(re)
8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
# yt_update(字典1, 字典2)
def fzx_update(dict1, dict2):
for x in dict2:
if x not in dict1: # 只要key不存在就说明键值对不存在
dict1[x] = dict2[x] # dict1[x] = xxx是用来添加键值对,dict2[x]获取dict2的value
print(dict1)
fzx_update({'a': 1, 'b': 2, 'c': 3}, {'a': 1, 4: 'f', 'z': 5})
9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]
def fzx_items(items):
list4 = []
for x in items:
print((x, items[x]))
list4.append((x, items[x]))
print(list4)
dict3 = {'a': 1, 'b':2, 'c':3}
fzx_items(dict3)
网友评论