zoukankan      html  css  js  c++  java
  • Python编程之基础知识练习_001

    练习内容:

    实现一个类用于Fibonacci数列的计算。

    该类具备的功能:

    (1)支持计算结果的缓存

    (2)支持迭代

    (3)支持索引

    1.实现代码如下:

    class Fibonacci:
        def __init__(self):
            self._result = [0, 1, 1]
    
        def __len__(self):
            return len(self._result)
    
        def __call__(self, n=0):
    
            if n < 0: raise IndexError("Index must nonnegative.")
    
            _length = len(self)
    
            if n < _length:
                return self._result[n]
            else:
                for i in range(_length, n + 1):
                    self._result.append(self._result[-2] + self._result[-1])
                return self._result[-1]
    
        def __getitem__(self, item):
            return self.__call__(item)
    
        def __iter__(self):
            return iter(self._result)
    
        def __str__(self):
            return str(self._result)
    
        __repr__ = __str__

     2.简单的测试代码:

    # Test
    fib = Fibonacci()
    print(fib(12))
    print(fib[3])
    print(fib._result)
    for i, v in enumerate(fib):
        print((i, v))
  • 相关阅读:
    HDU 2544 (Djikstra)
    HDU 1237(表达式求值)
    HDU1690 (Floyd)
    《大道至简》读后感
    第6周总结
    第8周总结
    第7周总结
    第四周总结
    第5周总结
    java程序
  • 原文地址:https://www.cnblogs.com/orcsir/p/9023889.html
Copyright © 2011-2022 走看看