2,寫函式,接收n個數字,求這些引數數字的和。(動態傳參)
3,讀**,回答:**中,列印出來的值a,b,c分別是什麼?為什麼?
a=10
b=20
def test5(a,b):
print(a,b)
c = test5(b,a)
print(c)
4,讀**,回答:**中,列印出來的值a,b,c分別是什麼?為什麼?
a=10
b=20
def test5(a,b):
a=3b=5
print(a,b)
c = test5(b,a)
print(c)
print(a,b)
5,寫函式,傳入函式中多個實參(均為可迭代物件如字串,列表,元祖,集合等),將每個實參的每個元素依次新增到函式的動態引數args裡面.
例如 傳入函式兩個引數[1,2,3] (22,33)最終args為(1,2,3,22,33)
6,寫函式,傳入函式中多個實參(實參均為字典),將每個實參的鍵值對依次新增到函式的動態引數kwargs裡面.
例如 傳入函式兩個引數 最終kwargs為
7, 下面**成立麼?如果不成立為什麼報錯?怎麼解決?
7.1
a = 2
print(a)
7.2
a = 2
a += 1
print(a)
7.3
a = 1
def inner():
print(a)
inner()
7.4 a = 1
def inner():
a += 1
print(a)
inner()
8,寫函式,接收兩個數字引數,將較小的數字返回.
9,寫函式,接收乙個引數(此引數型別必須是可迭代物件),將可迭代物件的每個元素以』_』相連線,形成新的字串,並返回.
例如 傳入的可迭代物件為[1,'老男孩','武sir']返回的結果為』1_老男孩_武sir』
10,寫函式,傳入n個數,返回字典
例如:min_max(2,5,7,8,4) 返回:(此題用到max(),min()內建函式)
11,寫函式,傳入乙個引數n,返回n的階乘
例如:cal(7) 計算7*6*5*4*3*2*1
12寫函式,返回乙個撲克牌列表,裡面有52項,每一項是乙個元組
例如:[(『紅心』,2),(『草花』,2), …(『黑桃』,『a』)]
13 有如下函式:
def inner():
print(666)
你可以任意新增**,用兩種或以上的方法,執行inner函式.
14相關面試題(先從紙上寫好答案,然後在執行):
1,有函式定義如下:
def calc(a,b,c,d=1,e=2):
return (a+b)*(c-d)+e
請分別寫出下列標號**的輸出結果,如果出錯請寫出error。
print(calc(1,2,3,4,5))_____
print(calc(1,2))____
print(calc(e=4,c=5,a=2,b=3))____
print(calc(1,2,3))____
print(calc(1,2,3,e=4))____
print(calc(1,2,3,d=5,4))_____
2,(此題有坑)下面**列印的結果分別是_________,,
.
def extendlist(val,list=):
return list
list1 = extendlist(10)
list2 = extendlist(123,)
list3 = extendlist('a')
print('list1=%s'%list1)
print('list2=%s'%list2)
print('list3=%s'%list3)
3, 寫**完成99乘法表.(公升級題)
1 * 1 = 1
2 * 1 = 2 2 * 2 = 4
3 * 1 = 3 3 * 2 = 6 3 * 3 = 9
9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
2.也可以用sum函式
def suma(*args):
num = 0
for i in args:
num +=int(i)
return num
3.a=20,b=10,c=none
變數a=10,b=20. 呼叫函式時test5(b,a)=test5(20,10),所以a=20,b=10.
test5沒有return返回值,所以返回值為none
4.函式內:a=3,b=5;全域性變數:c=none; a=10,b=20
函式內的a b變數重新定義了,所以是3 5. 全域性變數a b定義時,是10 20.
test5沒有return返回值,所以返回值為none
5.使用傳參打散
def func(*args):
return args
print(func(*[1,2,3],*(22,33)))
6.使用傳參打散
def func(**kwargs):
return (kwargs)
ret = func(**,**)
print(ret)
7.7.1:成立
7.2:不成立,a +=1等於a = a+1重新賦值給a,預設修改不了全域性的變數a
a = 2
global a
a += 1
print(a)
7.3:成立
a = 1
def inner():
nonlocal a
a += 1
print(a)
inner()
8.def func(a,b):
return a if a=1:
num *= n
n -= 1
return num
#12.使用演算法:笛卡爾積
import random
def func():
lst =
huase = ['紅心','黑桃','草花','方片']
dianshu = [2,3,4,5,6,7,8,9,10,"j","q","k","a"]
for i in huase:
for i2 in dianshu:
random.shuffle(lst) #把列表元素打亂,洗牌
return lst
print(func())
13. def inner():
print(666)
inner()
def inner():
print(666)
def inner2():
inner()
inner2()
def inner():
print(666)
return inner
ret()
14-1.自行算,不會就直接執行**
答案:2
error248
10error
14-2.預設引數陷阱
list1=[10, 'a']
list2=[123]
list3=[10, 'a']
14-3.九九乘法表
def func():
for i in range(1,10):
for j in range(1,i+1):
print("%d*%d=%d"%(i,j,i*j),end=' ')
print("")
func()
day 10 函式高階作業(部分完成)
1.寫乙個匿名函式,判斷指定的年是否是閏年 leap year lambda year 閏年 if year 4 0and year 100 0 or year 400 0else 平年 print leap year 2020 閏年 2.寫乙個函式將乙個指定的列表中的元素逆序 如 1,2,3 3,...
猜年齡函式版day10作業
age 18 prize dict n print 註冊成功 break def login 登入功能 print 遊戲登入 username inp input 輸入你的使用者名稱 pwd inp input 輸入你的密碼 with open username info.txt r encodin...
Day 10 遞迴函式
include long func int func函式呼叫 int main long func int n 呼叫形參 已知斐波那契函式1,2,3,5,8 n 1,n得到分段函式n 1時為1 n 2時為2 n 2時為 n 1 n 2 同理若求8的n次方時分段函式n 0時為1 n 1時為8 8 n ...