您的位置:首页 > 编程语言 > Python开发

python基础5(类、斐波那契数列)

2018-03-31 22:55 106 查看
1. map()函数,map函数接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,从而得到一个iterator(迭代)并返回,如果要作为list输出,则加个list()函数。
def f(x):
return x*x
print (list(map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
[1, 4, 9, 16, 25, 36, 49, 64, 81]

2.lambda()函数,可以在表达式当中直接定义一个函数,而不需要将定义函数和表达式分开,这样有助于将逻辑用更紧凑的方式表达出来。如上面的例子可以写成:
print (list(map(lambda x: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、斐波那契数列
class Fibonacci():
'''返回一个fibonacci数列'''
def __init__(self):
self.fList=[0,1] #设置初始列表
self.main()

def main(self):
listLen=input('请输入fibonacci数列的长度(3-50)')
self.checkLen(listLen)
while len(self.fList)<int(listLen):
self.fList.append(self.fList[-1]+self.fList[-2])
print('得到的fibonacci数列为:\n%s'%self.fList)
def checkLen(self,lenth):#检查输入的数据是否符合要求
lenList=map(str,range(3,51))
if lenth in lenList:
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、九九乘法表
class PrintTable(object):
'''打印九九乘法表'''
def __init__(self):
print('开始打印9*9的乘法表格')
self.print99()

def print99(self):
for i [b]in range(1,10):
for j in range(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 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: