python期末複習(5.1)
阿新 • • 發佈:2022-05-11
第5章課後小測-1
1、def vfunc(*a,b)函式定義有誤,因為*星號是用來設計可變數量引數的,而帶有星號的可變引數只能出現在引數列表的最後。
2、
def my_function(*ks): print(ks[-1]) my_function("a", "b", "c")
輸出結果是c
3、
def test(): return 'abc', 100, [0, 1, 2] a, b, c = test() print(c)
輸出結果是[0,1,2]
4、
def f(s): return s*2
函式調用出錯的是f(('a')) #注:個人覺得答案錯了
5、關於lambda函式,lambda是python的保留字
6、提高程式碼執行速度不是函式作用
7、不正確的說法:引數的值是否改變與函式中對變數的操作有關,與引數型別無關
8、函式eval()可以用於數值表示式求值,例如eval("2*3+1")
9、
def f(a,b): a=4 return a+b def main(): a=5 b=6 print(f(a,b),a+b) main()
輸出結果是10 11
10、
def func(a,b): c=a**2+b b=a return c a=10 b=100 c=func(a,b)+a
執行該程式後,變數c的值為200
11、全域性變數與區域性變數可以重名
12、自定義函式呼叫前必須定義
13、
f=lambda x,y:y+x f(10,10)
輸出結果是20
14、程式在呼叫時,將實參複製給函式的形參
15、函式可以沒有return語句
16、使用函式的目的是降低程式設計難度和程式碼重用
17、對函式的使用不是必須瞭解其內部實現原理
18、呼叫函式時,如果沒有指定引數名稱,引數之間的順序不可以隨意調整
19、
def f(s): return s+s print(f((1,2)))
執行結果是(1,2,1,2)
20、
c=1 def add(): c=100 return c+1 print("{},{}".format(add(),c))
程式的執行結果是101,1
21、關於函式定義def vfunc(a,*b),函式呼叫錯誤的是vfunc()
22、
s = 0 for i in range(2,7): if i%2==1: s = s + i else: s = s + 1
執行後s的值是11,i的值是6
23、
s = 0 for i in range(1,20,3): if i%5==0: continue elif i>8: break else: s = s -1 s = s + i else: s = s + 10
執行結果是s的值為9
24、
for i in range(3): for s in "scut": print(s,end="") if i==1: break else: print(s,end='')
執行結果是scuttsscutt
25、
for i in range(3): for s in "china": print(s,end="") if i==1 or s=="i": break else: print(s,end='') else: print(i)
執行結果是chicchi2
26、
for i in range(3): for s in "china": if i==1 or s=="i": break print(s,end="") else: print(s,end='') else: print(i)
執行結果是chch2
27、
for i in range(3): for s in "china": if i==1 or s=="i": break print(s,end="") else: print(s,end='') else: print(i)
s的值是5,i的值是6
28、程式碼迴圈遍歷列表fruits中的每個元素
fruits = ["apple", "banana", "cherry"] for x in fruits[0:len(fruits)]: print(x)
29、
txt="Hello World" for c in range(len(txt)-1,-1,-1): print(txt[c], end="") print("\n")
30、
for i in range(3): for s in "china": print(s,end="") if i==1 and s=="i": break else: print(s,end='') else: print(i)
執行結果是chinaachichinaa2
31、
if score<=90: grade='A' if score<=80: grade='B' if score<=70: grade='C' else: grade='D'
當score的值為85時,grade的值為D
32、
for s in "scut": if s=="c": continue for i in range(5): print(s,end='') if i==2 or s=='u': break
執行結果是sssuttt
33、
s=0 for i in range(1,10): s=s+i if i % 5==0 : print(i*i) break else: s=s+i print(i) print(s)
#輸出結果是
25
15
34、
a = [1,2,3,4] for i in a: if i%2==0: print(i)
#執行結果是
2
4