python--Fibonacii序列
来源:互联网 发布:java工程师发展前景 编辑:程序博客网 时间:2024/04/30 01:09
背景
Python看了一段时间了,对yield还是了解不透彻。
原来自定的函数里,含有yield的话,就变成了generator了,直接调用函数的话,是没有反应的。最后看一个视频的时候看到演示里面使用type()查看的到了是generator。才知道是怎么回事了。
对象是使用Fibonacii数列。
代码如下:
# -*- encoding = utf-8 -*-import stringimport sys# continue ?def isContinueDone():propt = input("Continue?[Y/y, N/n]: ").strip()if propt.isalpha:if propt in ("Y", "y", "N", "n"):if propt.lower() == "y":fibonacii()else:print("Quit soon.")sys.exit(0)else:print("Out of choice. try again.")isContinueDone()else:print("Invalid choice, try again.")isContinueDone()# definied fibonacii methoddef fibonaciiAlgorithm(max):n, a, b = 0, 0, 1while n<max:yield ba,b = b, a+bn = n+1print("{}-th fibonacii number is {}".format(max, a))# definied main() methoddef fibonacii():while True:propt = input("Enter number[>=1]: ").strip()if propt.isdigit():num = int(propt)if num < 1:print("Specified number is out of range. try again.")fibonacii()else:number = fibonaciiAlgorithm(num)for tmp_num in number:passisContinueDone()else:print("Invalid number...try again.")fibonacii()if __name__ == '__main__':fibonacii()
测试结果如下:
Enter number[>=1]: 1010-th fibonacii number is 55Continue?[Y/y, N/n]: y Enter number[>=1]: 1212-th fibonacii number is 144Continue?[Y/y, N/n]: 10Out of choice. try again.Continue?[Y/y, N/n]: y Enter number[>=1]: 11-th fibonacii number is 1Continue?[Y/y, N/n]: y Enter number[>=1]: 22-th fibonacii number is 1Continue?[Y/y, N/n]: y Enter number[>=1]: 33-th fibonacii number is 2Continue?[Y/y, N/n]: y Enter number[>=1]: 44-th fibonacii number is 3Continue?[Y/y, N/n]: yEnter number[>=1]: 55-th fibonacii number is 5Continue?[Y/y, N/n]: yEnter number[>=1]: 66-th fibonacii number is 8Continue?[Y/y, N/n]: yEnter number[>=1]: 77-th fibonacii number is 13Continue?[Y/y, N/n]: yEnter number[>=1]: 88-th fibonacii number is 21Continue?[Y/y, N/n]: yEnter number[>=1]: 99-th fibonacii number is 34Continue?[Y/y, N/n]: yEnter number[>=1]: 1010-th fibonacii number is 55Continue?[Y/y, N/n]: yEnter number[>=1]: 1111-th fibonacii number is 89Continue?[Y/y, N/n]: yEnter number[>=1]: 1212-th fibonacii number is 144Continue?[Y/y, N/n]: n Quit soon.
0 0
- python--Fibonacii序列
- Fibonacii数列
- poj 3070 Fibonacii(矩阵乘法求Fibonacii)
- Fibonacci + 数论 + fibonacii公式
- Fibonacii (HDU 1568)
- NYOJ-Fibonacii数
- Python 序列
- 序列 (python)
- python序列
- Python 序列
- Python 序列
- Python序列
- python:序列
- python--序列
- python 序列
- python序列
- python---序列
- Python序列
- Hadoop之——Hadoop2.5.2 HA高可靠性集群搭建(Hadoop+Zookeeper)前期准备
- 连续概率(概率,uva 11346)
- 指之舞:颈椎
- 庞大触角加精准定向,Facebook如何主导2016美国总统大选
- 高斯滤波及高斯卷积核C++实现
- python--Fibonacii序列
- 图像检索----迭代量化(Iterative Quantization)理解
- 關於JAVA中String类以形参传递到函数里面,修改后外面引用不能获取到更改后的值
- 欧盟要求谷歌停止Android垄断行为 可能提出罚款
- oracle pl/sql 函数
- Java排序算法总结与实现
- 阿里云 CentOS 7 WarkMan环境配置中 pcntl的问题
- CAFFE CIFAR10 MODEL IMAGE 之 cifar10 quick
- Oracle设置空闲客户端超时退出的两种方法