日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

小甲鱼python课后作业十七_小甲鱼Python第十六讲课后习题--017函数

發(fā)布時間:2025/3/19 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小甲鱼python课后作业十七_小甲鱼Python第十六讲课后习题--017函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DRY是指Don't Repeat Yourself ,特指在程序設(shè)計以及計算中避免重復(fù)代碼,因為這樣會降低靈活性、簡潔性,并且可能導(dǎo)致代碼之間的矛盾。

即不要寫重復(fù)的代碼,而是用“abstraction”類來抽象公有的東西。如果你需要多次用到一個硬編碼值,那么可以設(shè)為公共常量;如果你要在兩個以上的地方使用一個代碼塊,那么可以將它設(shè)為一個獨立的方法。SOLID設(shè)計原則的優(yōu)點是易于維護(hù),但要注意,不要濫用,duplicate 不是針對代碼,而是針對功能。這意味著,即使用公共代碼來驗證OrderID和SSN,二者也不會是相同的。使用公共代碼來實現(xiàn)兩個不同的功能,其實就是近似地把這兩個功能永遠(yuǎn)捆綁到了一起,如果OrderID改變了其格式,SSN驗證代碼也會中斷。因此要慎用這種組合,不要隨意捆綁類似但不相關(guān)的功能。

DRY是Andy Hunt 和 Dave Thomas's 的《 The Pragmatic Programmer 》這本書中的核心原則。

1. 都是重復(fù)一段代碼,為什么我要使用函數(shù)(而不使用簡單的拷貝黏貼)呢?

使用函數(shù):

0) 可以降低代碼量(調(diào)用函數(shù)只需要一行,而拷貝黏貼需要N倍代碼)

1) 可以降低維護(hù)成本(函數(shù)只需修改def部分內(nèi)容,而拷貝黏貼則需要每一處出現(xiàn)的地方都作修改)

2) 使序更容易閱讀(沒有人會希望看到一個程序重復(fù)一萬行“I love FishC.com”)

2. 函數(shù)可以有多個參數(shù)嗎?

可以,理論上你想要有多少個就可以有多少個,只不過如果函數(shù)的參數(shù)過多,在調(diào)用的時候出錯的機(jī)率就會大大提高,因而寫這個函數(shù)的程序員也會被相應(yīng)的問候祖宗,所以,盡量精簡吧,在Python的世界里,精簡才是王道!

3. 創(chuàng)建函數(shù)使用什么關(guān)鍵字,要注意什么?

盡量使用有意義的詞作為關(guān)鍵字,每個詞的第一個字母為大寫,并做好注釋。

4. 請問這個函數(shù)有多少個參數(shù)?

def MyFun((x, y), (a, b)):

return x * y - a * b

如果你回答兩個,那么恭喜你錯啦,答案是0,因為類似于這樣的寫法是錯誤的!

我們分析下,函數(shù)的參數(shù)需要的是變量,而這里你試圖用“元祖”的形式來傳遞是不可行的。

我想你如果這么寫,你應(yīng)該是要表達(dá)這么個意思:

>>> def MyFun(x, y):

return x[0] * x[1] - y[0] * y[1]

>>> MyFun((3, 4), (1, 2))

10

5. 請問調(diào)用以下這個函數(shù)會打印什么內(nèi)容?

def hello():

print('Hello World!')

return

print('Welcome To FishC.com!')

Hello World!,因為當(dāng)Python執(zhí)行到return語句的時候,Python認(rèn)為函數(shù)到此結(jié)束,需要返回了(盡管沒有任何返回值)

動動手

0. 編寫一個函數(shù)power()模擬內(nèi)建函數(shù)pow(),即power(x, y)為計算并返回x的y次冪的值。

自己寫的

def power(x,y):

z = x**y

return z

print(power(2,2))

小甲魚代碼:

def power(x,y):

result = x**y

return result

1. 編寫一個函數(shù),利用歐幾里得算法(腦補(bǔ)鏈接)求最大公約數(shù),例如gcd(x, y)返回值為參數(shù)x和參數(shù)y的最大公約數(shù)。

自己寫的:

def gcd(x,y):

while y:

r =x%y

x = y

y = r

return x

print(gcd(10,5))

算法流程圖:

2. 編寫一個將十進(jìn)制轉(zhuǎn)換為二進(jìn)制的函數(shù),要求采用“除2取余”(腦補(bǔ)鏈接)的方式,結(jié)果與調(diào)用bin()一樣返回字符串形式

不會寫:利用數(shù)組、while循環(huán)

def DectoBin(num):

temp = []

result = ''

while num:

x = num%2

num = num//2

temp.append(x)

while temp:

result += str(temp.pop())

return result

總結(jié)

以上是生活随笔為你收集整理的小甲鱼python课后作业十七_小甲鱼Python第十六讲课后习题--017函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。