1. 程式人生 > 其它 >python期末複習(5.1)

python期末複習(5.1)

第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