python程式設計練習1

2021-07-22 15:51:55 字數 1567 閱讀 4247

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...