1.
写一个函数将一个指定的列表中的元素逆序(如[1, 2, 3] -> [3, 2, 1])(注意:不要使列表自带的逆序函数)
list1 = [1, 2, 3, 4]
def change(list_c):
for x in list_c[::-1]:
list_c.remove(x)
list_c.append(x)
return list_c
print(change(list1))
2.
写一个函数,提取出字符串中所有奇数位上的字符
str2 = '123456789'
str2_1 = ''
def tack_j(str):
global str2_1
for x in str2[::2]:
str2_1 += x
return str2_1
print(tack_j(str2_1))
3.
写一个匿名函数,判断指定的年是否是闰
judge = lambda y: ((y % 4 == 0) & (y % 100 != 0)) | (y % 400 == 0)
print('111', judge(2100))
4.
使用递归打印:
```
n = 3
的时候
@
@ @ @
@ @ @ @ @
n = 4
的时候:
@
@ @ @
@ @ @ @ @
@ @ @ @ @ @ @
```
def print_star(n):
str4 = ''
if n == 1:
print('*')
return
print_star(n - 1)
str4 = '*'*(2*n-1)
print(str4.center(n))
return
print_star(4)
5.
写函数, 利用递归获取斐波那契数列中的第
10
个数,并将该值返回给调用者。斐波那契数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...
def fibonacci(n=10):
if n == 1 or n == 2:
return 1
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(10))
6.
写一个函数,获取列表中的成绩的平均值,和最高分
list6 = [32, 33, 56, 99, 12, 80, 56]
def take6(list):
num_m = 0
average = 0
for x in range(len(list)):
if list[x] >= num_m:
num_m = list[x]
average = sum(list)/x
return num_m, average
print(take6(list6))
7.
写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
list7 = [1, 23, 4, 5, 6, 9]
def take7(nums):
list7_t = []
for x in nums[::2]:
list7_t.append(x)
return list7_t
print(take7(list7))
8.
实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
yt_update(字典1, 字典2)
dict8_a = {'a': 1, 'b': 2}
dict8_b = {'b': 3, 'c': 3, 'd':7}
def change8(dict1, dict2):
for x in dict1:
dict2[x] = dict1[x]
return dict2
print(change8(dict8_a,dict8_b))
9.
实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b': 2, 'c': 3} - --> [('a', 1), ('b', 2), ('c', 3)]
dict9 = {'a': 1, 'b': 2, 'c': 3}
def change9(dict):
list9 = []
list9_z = []
for x in dict:
list9_z.append(x)
list9_z.append(dict[x])
list9.append(tuple(list9_z))
del list9_z[0:2]
print(list9)
change9(dict9)
网友评论