1.
写一个函数将一个指定的列表中的元素逆序(如[1, 2, 3] -> [3, 2, 1])(注意:不要使 用表自带的逆序函数)
def print_inverse(list1:list):
x = -1
old = list1[:]
for index in range(len(list1)):
list1[index] = old[x]
x -=1
return list1
list2 = print_inverse([1,2,3,4,5,6,7])
print(list2)
"""
list1 = [2, 2]
x = -1
index = 0~1
index = 0 lis1[0] = list[-1] = 2 list1 = [2, 2] x =-2
index = 1 list[1] = list[-2] = 2
"""
2.
写一个函数,提取出字符串中所有奇数位上的字符
def chars(str1):
list1=[]
for char1 in range(0,len(str1)):
if char1%2 == 1:
list1.append(str1[char1])
return list1
print(chars('abcdefg'))
3.
写一个匿名函数,判断指定的年是否是闰
pan_duan = lambda year:year%4 ==0 and year%100 != 0
if pan_duan(2000) == True:
print('是闰年')
else:
print('不是闰年')
4.
使用递归打印:
```
n = 3
的时候
@
@ @ @
@ @ @ @ @
n = 4
的时候:
@
@ @ @
@ @ @ @ @
@ @ @ @ @ @ @
```
def print1(n):
if n == 1:
print('@')
return
print1(n-1)
print('@'*(2*n-1))
print1(4)
5.
写函数, 利用递归获取斐波那契数列中的第
10
个数,并将该值返回给调用者。
# def num1(n):
# if n == 1 or n == 2:
# num2 = 1
# return
#
# num1(n) =num1(n-1)+num1(n-2)
# return num1(n)
# num1(10)
6.
写一个函数,获取列表中的成绩的平均值,和最高分
def average(list1):
return sum(list1)/len(list1),max(list1)
print(average([10,100,9,90,28]))
7.
写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def nums(sequence):
list1 = []
for index in range(len(sequence)):
if index%2:
num = sequence[index]
list1.append(num)
return list1
print(nums([0,1,2,3,4,5]))
实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
yt_update(字典1, 字典2)
def yt_update(tuple1:tuple,tuple2:tuple):
for key1 in tuple2:
print(key1)
tuple1[key1] = tuple2[key1]
return tuple1
p = yt_update({'a':1,'b':2,'c':3},{'name':'黄峰','age':18,'c':100})
print(p)
实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b': 2, 'c': 3} - --> [('a', 1), ('b', 2), ('c', 3)]
def yt_items(dict1:dict):
list1 = []
for key1,value1 in dict1.items():
tuple1 = key1,value1
list1.append(tuple1)
return list1
a = yt_items({'a': 1, 'b': 2, 'c': 3})
print(a)