首先说明一下,pythonrangexrange的区别,

range:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列。

>>>range(1,5)
[1,2,3,4]

xrange:用法与range完全相同,所不同的是生成的不是一个数组,而是一个生成器。

>>>xrange(1,5)
xrange(1,5)
>>>list(xrange(1,5))
[1,2,3,4]

rangexrange这两个输出的结果都是一样的,实际上有很多不同,range会直接生成一个list对象,而xrange则不会直接生成一个list,而是每次调用返回其中的一个值。要生成很大的数字序列的时候,用xrange会比range性能优很多,因为不需要一上来就开辟一块很大的内存空间。不过python3中去除了xrange合并成了range

九九乘法表

class PrintTable(object):
    def __init__(self):
        print(u'开始打印9x9的乘法表')
        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='')
            print('\n')
if __name__=='__main__':
    pt=PrintTable()

结果:

斐波那契数列

class Fibonacci(object):
    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(u'输入的长度符合标准,继续运行')
        else:
                print(u'只能输入3-50,太长了不是算不出,只是没必要')
                exit()
    
if __name__=='__main__':
    f=Fibonacci()

结果: