1.写一个函数将一个指定的列表中的元素逆序(如[1, 2, 3] -> [3, 2, 1])(注意:不要使表自带的逆序函数)
def ni_xu(list1:list):
list2 = []
for item in list1[::-1]:
list2.append(item)
return list2
list1=[1,2,3,4,5]
print(ni_xu(list1)) # [5, 4, 3, 2, 1]
2.写一个函数,提取出字符串中所有奇数位上的字符
def extract(str1:str):
str2 = ''
for item in range(0, len(str1), 2):
str2 += str1[item]
return str2
str1 = 'abcdefghijk'
print(extract(str1))
3.写一个匿名函数,判断指定的年是否是闰年
year = lambda n: bool(n%4 == 0 and n%100 != 0)
print(year(2008))
4.使用递归打印:
```
n = 3的时候
@
@ @ @
@ @ @ @ @
n = 4 的时候:
@
@ @ @
@ @ @ @ @
@ @ @ @ @ @ @
```
def print1(n, m=0):
a = "@"
if n == 0:
return
print1(n - 1, m + 1)
print(' ' * m, end='')
print((a + '@' * (n - 1) * 2))
print1(4)
# @
# @@@
# @@@@@
# @@@@@@@
5.写函数, 利用递归获取斐波那契数列中的第10个数,并将该值返回给调用者。
1,1,2,3,5,8,13,21,34,55
def series(n=10):
if n == 1 or n == 2:
return 1
return series(n-1) + series(n-2)
print(series()) # 55
print(series(11)) # 89
6.写一个函数,获取列表中的成绩的平均值,和最高分
def xw_list(list1):
sum1 = 0
ave = 0
max1 = list1[0]
for item in list1:
sum1 += item
ave = (sum1/len(list1))
if max1
7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def xw_list(list1):
list2 = []
for item in list1[::2]:
list2.append(item)
return list2
list3=['a','b','c', 'd','e','f']
print(xw_list(list3)) # ['a', 'c', 'e']
8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
yt_update(字典1, 字典2)
def xw_update(dict1,dict2):
for key in dict1:
dict2[key] = dict1[key]
return dict2
dict1 = {'name1': '小明', 'age1': 22, 'score1': 88}
dict2 = {'name2': '小红', 'age2': 20, 'score2': 95}
print(xw_update(dict1, dict2)) # {'name2': '小红', 'age2': 20, 'score2': 95, 'name1': '小明', 'age1': 22, 'score1': 88}
9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b': 2, 'c': 3} - --> [('a', 1), ('b', 2), ('c', 3)]
def xw_list(dict1):
list1 = []
for item in dict1:
tuple1 = item, dict1[item]
list1.append(tuple1)
return list1
print(xw_list({'a':1,'b':2,'c':3,'d':4})) # [('a', 1), ('b', 2), ('c', 3), ('d', 4)]