输出斐波那契数列的前多少个数。
利用函数
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# Author:Hiuhung Wan
# ----斐波那契数列(Fibonacci sequence)-----
def check_num(number:str):
'''
对输入的字符串检查,正整数,返回Ture,否则返回False
:param number: 输入的字符串
:return: 符合要求,返回Ture,不符合返回False
'''
# 输入不能是1,要大于等于2
if intput.isdigit() and intput != '1':
return True
else:
return False
def fib(times:int):
'''
求出斐波那契数列的列表
:param times: 斐波那契数列的个数
:return: 返回斐波那契数列的列表
'''
# 先定义前两个数
fib = [1, 1]
for i in range(count - 2):
fib.append(fib[-1] + fib[-2])
return fib
if __name__ == '__main__':
intput = input("你想输出多少个斐波那契数列?")
if check_num(intput):
count = int(intput)
print(fib(count))
else:
print("请输入一个大于1正整数")
效果:
C:\Python36\python.exe D:/Py/1704/day02/Fib_test.py
你想输出多少个斐波那契数列?20
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
Process finished with exit code 0