1.寫一個函數將一個指定的列表中的元素逆序( 如[1, 2, 3] -> [3, 2, 1])(注意:不使用自帶的逆序函數)
def list_reverse(list1:list):
'''排序方法'''
for i in range(1,len(list1)):
for j in range(i,len(list1)):
if list1[j-1]>list1[j]:
temp=list1[j-1]
list1[j-1]=list1[j]
list1[j]=temp
list1=list1[::-1]
return list1
print(list_reverse([1,5,7,3,9,4,6]))
2.寫一個函數,提取出字符串中所有奇數位上的字符
def extra_string(string:str):
'''獲取字符串奇數位字符'''
col=[]
for i in range(1,len(string),2):
col.append(string[i])
return col
print(extra_string('123456abcdefg'))
3.寫一個匿名函數,判斷指定的年是否是閏年
jugle_year=lambda year: False if year % 4 else True
print(jugle_year(2000))
4.使用遞歸打印:
n = 3的時候
@
@@@
@@@@@
n = 4的時候:
@
@@@
@@@@@
@@@@@@@
5.寫函數,利用遞歸獲取斐波那契數列中的第 10 個數,并將該值返回給調用者。
def fibo(n=10):
if n==1 or n==2:
return 1
return fibo(n-1)+fibo(n-2)
print(fibo()) #55
6.寫一個函數,獲取列表中的成績的平均值,和最高分
def score_get(score:list):
max=0
sum=0
for x in score:
if x >max: max=x
sum+=x
average=sum/len(score)
return average,max
print(score_get([99,66,78,95,86,73])) #(82.83333333333333, 99)
7.寫函數,檢查獲取傳入列表或元組對象的所有奇數位索引對應的元素,并將其作為新的列表返回給調用者
def extra_element (params):
col=[]
for i in range(1,len(params),2):
col.append(params[i])
return col
print(extra_element((1,2,3,4,5,6,7,8))) #[2, 4, 6, 8]
print(extra_element([1,3,5,7,9,11])) #[3, 7, 11]
8.實現屬于自己的字典update方法:用一個字典去更新另一個字典的元素(不能使用自帶的update方法)
def dict_update(dict1:dict,dict2:dict)->dict:
for key in dict2:
dict1[key]=dict2[key]
return dict1
A={"name":"James","age":22,"city":"shanghai"}
B={"city":"shanghai","school":"qinghua","job":"engineer"}
print(dict_update(A,B))
#{'name': 'James', 'age': 22, 'city': 'shanghai', 'school': 'qinghua', 'job': 'engineer'}
9.實現屬于自己的items方法:將字典轉換成列表,字典中的鍵值對轉換成元祖。(不能使用items方法)
yt_items(字典)
例如:{'a': 1, 'b':2, 'c':3} ---> [('a', 1), ('b', 2), ('c', 3)]
def My_items(dictionary:dict):
col=[]
for key in dictionary:
temp=(key,dictionary[key])
col.append(temp)
return col
print(My_items({"name":"James","age":22,"city":"shanghai"}))
#[('name', 'James'), ('age', 22), ('city', 'shanghai')]