1.写一个函数将一个指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使 表自带的逆序函数)
def dp_reverse(list1:list):
index=0
for x in list1[::-1]:
list1[index]=x
index+=1
list1=[1,2,3]
dp_reverse(list1)
print(list1)
2.写一个函数,提取出字符串中所有奇数位上的字符
def odd_index(str1:str):
str2=''
for index in range(len(str1)):
if not index&1:
str2+=str1[index]
return str2
str1='1234567'
print(odd_index(str1))
3.写一个匿名函数,判断指定的年是否是闰
leap_year=lambda x:(x%4==0 and x%100!=0)or x%400==0
print(leap_year(2000))
4.使用递归打印:
n = 3的时候
@
@@@
@@@@@
n = 4的时候:
@
@@@
@@@@@
@@@@@@@
def my_print(n, m=0):
if n == 0:
return
my_print(n-1, m+1)
print(' '*m, end='')
print('@'*(2*n-1))
my_print(7)
# 5.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者。
def fib(n=10):
if n==1 or n==2:
return 1
return fib(n-1)+fib(n-2)
print(fib())
6.写一个函数,获取列表中的成绩的平均值,和最高分
def mean_max(list1:list):
max1=0
sum1=0
for num in list1:
sum1+=num
if num > max1:
max1 =num
return sum1/len(list1),max1
print(mean_max([1,2,3,4,5,6]))
7.写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新的列表返回给调用者
def add_args(n):
list1=[]
for index in range(len(n)):
if index&1:
list1.append(n[index])
return list1
print(add_args([0,1,2,3,4,5,6]))
8.实现属于自己的字典update方法:用一个字典去更新另一个字典的元素(不能使用自带的update方法)
def dp_update(dict1:dict,dict2:dict):
for key in dict2:
dict1[key]=dict2[key]
dict1={'a':1,'b':2}
dict2={'b':3,'c':4}
dp_update(dict1,dict2)
print(dict1)
9.实现属于自己的items方法:将字典转换成列表,字典中的键值对转换成元祖。(不能使用items方法)
例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]
def dp_items(dict1:dict):
list1=[]
for key in dict1:
tuple1=key,dict1[key]
list1.append(tuple1)
return list1
print(dp_items({'a': 1, 'b':2, 'c':3}))
网友评论