第十九課:函數(shù):我的地盤聽我的

內(nèi)容來源于網(wǎng)絡(luò),本人只是在此稍作整理,如有涉及版權(quán)問題,歸小甲魚官方所有。

練習(xí)題(來自小甲魚官方論壇)

0. 下邊程序會輸入什么?

def next():
    print('我在next()函數(shù)里...')
    pre()
def pre():
    print('我在pre()函數(shù)里...')
    
next()

答:

我在next()函數(shù)里...
我在pre()函數(shù)里...

1. 請問以下這個函數(shù)有返回值嗎?

def hello():
    print('Hello FishC!')

答:答:有。 會返回一個None的對象。如果沒有使用return語句指定返回值,Python也不是什么都不返回的,Ta會返回一個None對象,所以我們說Python所有的函數(shù)都有返回值。

>>> def hello():
        print("hello fishc")
>>> temp = hello()
hello fishc
>>> temp
>>> print(temp)
None
>>> 

2. 請問Python的return語句可以返回多個不同類型的值嗎?

答:可以,默認用逗號隔開,是以元祖的形式返回,你當然也可以用列表包含起來返回。

>>> def myFun():
        return '測試測試', 520, 3.14, True
>>> myFun()
('測試測試', 520, 3.14, True)
>>> def myFun2():
        return ['小甲魚', 1314, 5.12, False]
>>> myFun2()
['小甲魚', 1314, 5.12, False]
>>>

3. 目測以下程序會打印什么內(nèi)容:

def fun(var):
    var = 1314
    print(var, end='')
var = 520
fun(var)
print(var)

答:

1314520

4. 目測以下程序會打印什么內(nèi)容?

var = ' Hi '
def fun1():
    global var
    var = ' Baby '
    return fun2(var)
def fun2(var):
    var += 'I love you'
    fun3(var)
    return var
def fun3(var):
    var = ' 小甲魚 '
print(fun1())

答:

Baby I love you

編程題

0. 編寫一個函數(shù),判斷傳入的字符串參數(shù)是否為“回文聯(lián)”(回文聯(lián)即用回文形式寫成的對聯(lián),既可順讀,也可倒讀。例如:上海自來水來自海上)。

答:
代碼一

def palindrome(string):
    length = len(string)
    last = length-1
    length //= 2
    flag = 1
    for each in range(length):
        if string[each] != string[last]:
            flag = 0
        last -= 1
    if flag == 1:
        return 1
    else:
        return 0
string = input('請輸入一句話:')
if palindrome(string) == 1:
    print('是回文聯(lián)!')
else:
    print('不是回文聯(lián)!')

代碼二

def palindrome(string):
    list1 = list(string)
    list2 = reversed(list1)
    if list1 == list(list2):
        return '是回文聯(lián)'
    else:
        return '不是回文聯(lián)'

print(palindrome('1234abcdedcba4321'))

1. 編寫一個函數(shù),分別統(tǒng)計出傳入字符串參數(shù)(可能不只一個參數(shù))的英文字母、空格、數(shù)字和其它字符的個數(shù)。

答:

def count(*param):
    length = len(param)
    for i in range(length):
        word = 0
        num = 0
        spa = 0
        oth = 0
        for j in param[i]:
            if j.isalpha():
                word += 1
            elif j.isspace():
                spa += 1
            elif j.isdigit():
                num += 1
            else:
                oth += 1
        print('第 %d 個字符串共有:英文字母 %d 個,數(shù)字 %d 個,空格 %d 個,其他字符 %d 個'
               % (i + 1, word, num, spa, oth))

count('I love fish.com 123', 'I love you', 'you love 123')

輸出:

第 1 個字符串共有:英文字母 12 個,數(shù)字 3 個,空格 3 個,其他字符 1 個
第 2 個字符串共有:英文字母 8 個,數(shù)字 0 個,空格 2 個,其他字符 0 個
第 3 個字符串共有:英文字母 7 個,數(shù)字 3 個,空格 2 個,其他字符 0 個

2.請寫下這一節(jié)課你學(xué)習(xí)到的內(nèi)容:格式不限,回憶并復(fù)述是加強記憶的好方式!

答:

  • 函數(shù)與過程:過程(procedure)是簡單的,特殊且沒有返回值的;函數(shù)(Function)有返回值,Python嚴格來說只有函數(shù)沒有過程
  • 返回值可以是一個int類型,可以返回一個列表,可以返回一個元組
  • 局部變量:在局部生效如在函數(shù)中定義的變量
  • 全局變量:作用于整個模塊。函數(shù)內(nèi)若試圖修改全局變量,Python會新建一個同名局部變量用于存儲修改值,原全局變量的值不變

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、Python簡介和環(huán)境搭建以及pip的安裝 4課時實驗課主要內(nèi)容 【Python簡介】: Python 是一個...
    _小老虎_閱讀 6,319評論 0 10
  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,792評論 1 118
  • 〇、前言 本文共108張圖,流量黨請慎重! 歷時1個半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識的框架詳細梳理了一遍。 ...
    Raxxie閱讀 19,567評論 17 410
  • 接觸了解“零秒思考”概念以及操作方法后,相信很多人都會躍躍欲試,嘗試將“零秒思考”應(yīng)用到自己當前的學(xué)習(xí)生活中以以便...
    小長卿閱讀 359評論 0 0
  • When designing a User Interface you may want to change th...
    8565661100af閱讀 282評論 0 0

友情鏈接更多精彩內(nèi)容