python基礎5(類 斐波那契數列)

2021-08-17 23:37:39 字數 3433 閱讀 2589

1. map()函式,map函式接收乙個函式f和乙個list,並通過把函式f依次作用在list的每個元素上,從而得到乙個iterator(迭代)並返回,如果要作為list輸出,則加個list()函式。

deff(x):

returnx*x

print (list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))

[1, 4, 9, 16, 25, 36, 49, 64, 81]

print (

list(

map(

lambdax:x*x, [

1, 2,

3, 4,

5, 6,

7, 8,

9])))

[1, 4, 9, 16, 25, 36, 49, 64, 81]

3.建立類

class car():

def __init__(self,make,model,year):

self.make=make

self.model=model

self.year=year

def get_descriptive_name(self):

long_name=str(self.year)+' ' +self.make +'  ' +self.model

return long_name

my_new_car=car('audi','a4',2016)

print(my_new_car.get_descriptive_name())

4、繼承類

class electricar(car):

def __init__(self,make,model,year):

super().__init__(make,model,year)

my_tesla=electriccar('tesla','model s',2016)

print(my_tesla.get_descriptive_name())

5、斐波那契數列

classfibonacci():

'''返回乙個fibonacci數列'''

def__init__(self):

self.flist=[0,1] #設定初始列表

self.main()

defmain(self):

listlen=input('請輸入fibonacci數列的長度(3-50)')

self.checklen(listlen)

whilelen(self.flist)print('得到的fibonacci數列為:\n%s'%self.flist)

defchecklen(self,lenth):#檢查輸入的資料是否符合要求

lenlist=map(str,range(3,51))

iflenthinlenlist:

print('輸入的長度符合標準,繼續運算')

else:

print('只能輸入3-50,太長了不是算不出來,只是沒必要')

if__name__=='__main__':

f=fibonacci()

請輸入fibonacci數列的長度(3-50)50

輸入的長度符合標準,繼續運算

得到的fibonacci數列為:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049]

6、九九乘法表

classprinttable(object):

'''列印九九乘法表'''

def__init__(self):

print('開始列印9*9的乘法**')

self.print99()

defprint99(self):

foriinrange(1,10):

forjinrange(1,i+1):

print('%d*%d=%2s'%(j,i,i*j),end=" ")#注意此處的end=「 」表示換行

print('\n')

if__name__=='__main__':

pt=printtable()

開始列印9*9的乘法**

1*1= 1 

1*2= 2  2*2= 4 

1*3= 3  2*3= 6  3*3= 9 

1*4= 4  2*4= 8  3*4=12  4*4=16 

1*5= 5  2*5=10  3*5=15  4*5=20  5*5=25 

1*6= 6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36 

1*7= 7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49 

1*8= 8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64 

1*9= 9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81 

斐波那契數 python

def f x if x 0or x 1 return 1else return f x 1 f x 2 cal time 裝飾器 確定執行時間 deffib n return f n print fib 30 給遞迴函式加裝飾器,會出現重複列印 重新定義乙個函式,呼叫,這樣就不會重複列印fib r...

斐波那契數

入門訓練 fibonacci數列 時間限制 1.0s 記憶體限制 256.0mb 問題描述 fibonacci數列的遞推公式為 fn fn 1 fn 2,其中f1 f2 1。當n比較大時,fn也非常大,現在我們想知道,fn除以10007的餘數是多少。輸入格式 輸入包含乙個整數n。輸出格式 輸出一行,...

斐波那契數

斐波那契數列 fibonacci sequence 簡介 斐波那契數列 fibonacci sequence 又稱 分割 數列 因 數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 ...