內(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會新建一個同名局部變量用于存儲修改值,原全局變量的值不變