python基础5(类、斐波那契数列)
2018-03-31 22:55
106 查看
1. map()函数,map函数接收一个函数f和一个list,并通过把函数f依次作用在list的每个元素上,从而得到一个iterator(迭代)并返回,如果要作为list输出,则加个list()函数。
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、九九乘法表
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
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
相关文章推荐
- python基础编程_5_斐波那契数列
- python基础练习--斐波那契数列
- Python3基础 用 函数递归实现 斐波那契数列
- Python3基础 用 while循环实现 斐波那契数列
- python--基础学习(六)sqlite数据库基本操作
- python 数据类型基础
- python 斐波那契数列
- python基础----字符编码
- <<Python基础教程>>学习笔记 | 第01章 | 基础知识
- Python基础第一天
- Python3基础 os listdir() 列举当前目录的所有文件及文件夹的名字
- Python学习基础三
- python基础学习小结(1)
- python--程序基础
- 自学Python3.1-函数基础
- python基础学习四:python函数
- 零基础小白如何入门 Python 编程
- Python3基础 getatime getctime getmtime 获取一个文件的最近访问时间 创建时间 最新修改时间
- Python基础-面向对象编程
- Python3基础教程-廖雪峰[带标签完整版]