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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值