day 10 函式高階作業(部分完成)

2021-10-12 13:58:07 字數 3248 閱讀 1608

# 1.寫乙個匿名函式,判斷指定的年是否是閏年

leap_year=

lambda year:

'閏年'

if(year%4==

0and year%

100!=0)

or year%

400==

0else

'平年'

print

(leap_year(

2020))

#閏年# 2.寫乙個函式將乙個指定的列表中的元素逆序

# ( 如[1, 2, 3] -> [3, 2, 1])(注意:不要使用列表自帶的逆序函式)

defreverse_list

(x:list):

x.sort(reverse=

true

)print

(x)reverse_list([1

,2,3

])#[3, 2, 1]

# 3.寫乙個函式,獲取指定列表中指定元素的下標(如果指定元素有多個,將每個元素的下標都返回)

#例如: 列表是:[1, 3, 4, 1] ,元素是1, 返回:0,3

defget_index

(x:list

,item)

: new_list=

for i in

range

(len

(x))

:if x[i]

==item:

return new_list

print

(get_index([1

,3,4

,1],

1))# 4.寫乙個函式,能夠將乙個字典中的鍵值對新增到另外乙個字典中(不使用字典自帶的update方法)

print

('====第5題===='

)def

update_self

(x:dict

,y:dict):

for i in x:

y[i]

=x[i]

return y

print

(update_self(,)

)# 5.寫乙個函式,能夠將指定字串中的所有的小寫字母轉換成大寫字母;

# 所有的大寫字母轉換成小寫字母(不能使用字串相關方法)

defupper_self

(x=''):

new_list =

''for i in

range

(len

(x)):if

'a'<=x[i]

<=

'z':

new_list+=

chr(

ord(x[i])-

32)elif

'a'<=x<=

'z':

new_list+=

chr(

ord(x[i])+

32)else

: new_list+=x[i]

return new_list

print

(upper_self(

'ac3ds'))

# 6.實現乙個屬於自己的items方法,可以將指定的字典轉換成列表。

# 列表中的元素是小的列表,裡面是key和value (不能使用字典的items方法)

# 例如: 轉換成 [['a', 1], ['b', 2]]

defitems_self

(x:dict):

list=[

[i,x[i]

]for i in x]

return

list

print

(items_self())

# [['a', 1], ['b', 2]]

# 7.用遞迴函式實現,逆序列印乙個字串的功能:

# 例如:reverse_str('abc') -> 列印 『cba』

defreverse_str

(str1:

str)

: str0=

''for x in str1[-1

::-1

]:str0+=x

return str0

print

(reverse_str(

'abc'))

# 8.編寫乙個遞迴函式,求乙個數的n次方

# 9.寫乙個可以產生學號的生成器, 生成的時候可以自定製學號數字位的寬度和學號的開頭

# 例如:

# study_id_creater('py', 5) -> 依次產生: 'py00001', 'py00002', 'py00003', ....

# study_id_creater('test', 3) -> 依次產生: 'test001', 'test002', 'test003', ...

defstudy_id_creater

(str1:

str,n)

:for x in

range(1

,n+1):

num=

str(x)

num_str=

'py'

+num.zfill(n)

print

(num_str)

study_id_creater(

'test',3

)# 10. 編寫**模擬達的鼠的小遊戲,

## 假設一共有5個洞口,老鼠在裡面隨機乙個洞口;

## 人隨機開啟乙個洞口,如果有老鼠,代表抓到了

## 如果沒有,繼續打地鼠;但是地鼠會跳到其他洞口

# 11.編寫乙個函式,計算乙個整數的各位數的平方和

defsum_square

(num:

int)

:sum=0

length=

len(

str(num)

)for i in

range

(length)

:sum

+=(num%10)

**2num //=

10return

sumprint

(sum_square(

123)

)# 12. 樓梯有n階台階,上樓可以一步上1階,也可以一步上2階,程式設計序計算共有多少種不同的走法?需求: 編制乙個返回值為整型的函式fib(n),用於獲取n階台階的走法(掙扎一下)

# 13. 寫乙個函式對指定的數分解因式

# 14.寫乙個函式判斷指定的數是否是回文數

day10 函式高階

1.1什麼是返回值 返回值就是從函式內部傳遞到函式外部的資料 預設情況下函式內部產生的新資料,在函式外部不能使用 1.2怎麼確定函式返回值 1 python中每個函式都有返回值,預設情況下是none,返回值是什麼就看執行函式體的時候遇到的return關鍵字後面的資料是什麼 如果沒有遇到return,...

day10 函式的高階

順序 位置引數 動態接收位置引數 預設值 動態接收關鍵字引數 位置引數 args 預設引數值 kwargs 一.函式引數 動態傳參 1.動態接受位置引數 在引數位置編寫 表示接收任意內容 動態接收引數的時候要注意 動態引數必須在位置引數後面 2.動態接收關鍵字引數 動態接收關鍵字引數一定在最後面 在...

Day 10 函式的高階

一 動態傳參 1 形參 1.位置引數 2.預設引數 3.動態引數 1.args 動態接收位置引數 2.kwargs 動態接收關鍵字引數 def chi food print 我要吃 food chi 大公尺飯 小公尺飯 結果 我要吃 大公尺飯 小公尺飯 多個引數傳遞進去.收到的內容是元組tuple ...