0,設計乙個函式zip(lista,listb,repl),輸入兩個列表和佔位符,返回乙個新的列表,列表裡面的每乙個元素是乙個元組,元組的元素是對應同樣順序的在lista和listb中的元素,如果長度不相同,則用佔位符來代替
例如:zip([1,2,3],[4,5,6],"a")返回[(1,4),(2,5),(3,6)]
zip([1,2,3],[4],"b")返回[(1,4),(2,"b"),(3,"b")]
第一種:
1,實現乙個函式max,接受任意個整數的引數,返回其中的最大值
def max(*tuplearg):
maxnum=tuplearg[0]
for k in tuplearg:
if k>maxnum:
maxnum=k
return maxnum
list=[1,3,-53,12,20]
print max(*list)
2,實現乙個帶引數的裝飾器@callfunction(caller name),傳入的引數是呼叫者的名字,在呼叫函式之前,先列印一句「」the caller is [caller name]」 的log
def deco(arg):
#第一層,arg變數為裝飾器中的引數,
def _deco(func):
#第二層,傳入函式相關引數func.__name__
def __deco(*args,**kwargs):
#第三層,傳入函式的引數
print("before %s called." %func.__name__)
ret=func(*args,**kwargs)
print("after %s called.result is :%s" %(func.__name__,ret))
return ret
return __deco
return _deco
@deco("myfunc1")
def myfunc1(a,b):
print("myfunc1(%s,%s) called"%(a,b))
return a+b
@deco("myfunc2")
def myfunc2(a,b,c):
print("myfunc2(%s,%s,%s) called"%(a,b,c))
return a+b+c
myfunc1(1,3)
myfunc2(2,4,1)
3,實現乙個裝飾器@timeit,這個裝飾器的作用是當函式執行完畢以後,列印出來具體使用的時間。
import time
def timeit(func):
def _timeit():
t_start=time.time()
func()
t_end=time.time()
print("call in %fs"%(t_end-t_start))
return func()
return _timeit
@timeit
def myfunc1():
print("myfunc1() is called")
Python程式設計之路 練習1
1.簡述編譯型與解釋型語言的區別,且分別列出你知道的哪些語言屬於編譯型,哪些屬於解釋型?2.執行python指令碼的兩種方式?3.python單行注釋和多行注釋分別用什麼?4.布林值分別是什麼?5.宣告變數注意事項有哪些?變數定義規範 變數定義方式 變數名不好的定義方式 6.如何檢視變數名的記憶體位...
程式設計練習1
1.編寫乙個程式列印乙個表,表的每一行都給出乙個整數,它的平方以及它的立方。要求使用者輸入表的上限與下限。使用for迴圈。include includeusing namespace std void funtiongetin int a,int b int main 2.編寫乙個程式,實現9 9乘...
Python 程式設計練習
進製轉換 import math def main t int input while t 0 t 1 a,b map int input split if a 0 print end a a if a 0 print 0 end t while a 0 a a bfor i in range le...