用户输入一个正整数n,判断是否为正整数,若不是正整数,要求用户重新输入,若是正整数用递归的方法输出长度为n的斐波那契数列
时间: 2024-05-08 10:16:57 浏览: 52
输入两个正整数m和n求其最大公约数和最小公倍数 (2).pdf
以下是Python代码实现:
```python
def fibonacci(n):
if n == 1:
return [1]
elif n == 2:
return [1, 1]
else:
fib = fibonacci(n-1)
fib.append(fib[-1] + fib[-2])
return fib
while True:
n = input("请输入一个正整数:")
if not n.isdigit():
print("输入错误,请重新输入")
else:
n = int(n)
if n <= 0:
print("输入错误,请重新输入")
else:
break
print("斐波那契数列的前{}项为:".format(n))
print(fibonacci(n))
```
运行效果如下:
```
请输入一个正整数:-1
输入错误,请重新输入
请输入一个正整数:0
输入错误,请重新输入
请输入一个正整数:10
斐波那契数列的前10项为:
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
```
阅读全文