定义Fibonacci数列的函数fib(n),输出前20项(每项宽5个字符,右对齐),每行10个
时间: 2024-02-12 21:08:00 浏览: 118
好的,以下是代码实现:
```python
def fib(n):
if n <= 0:
return []
elif n == 1:
return [0]
elif n == 2:
return [0, 1]
else:
fib_list = [0, 1]
for i in range(2, n):
fib_list.append(fib_list[i-1] + fib_list[i-2])
return fib_list
fib_list = fib(20)
for i, num in enumerate(fib_list):
if i % 10 == 0:
print("\n")
print("{:>5}".format(num), end="")
```
输出结果:
```
0 1 1 2 3 5 8 13 21 34
55 89 144 233 377 610 987 1597 2584 4181
```
希望能够帮到你!
相关问题
python编写程序定义一个求斐波那契数列的函数fib(n),并编写测试代码,输出前20项(每项宽度5个字符位置,右对齐)每行输出10个
好的,以下是代码实现:
```python
def fib(n):
if n <= 1:
return n
else:
return fib(n-1) + fib(n-2)
for i in range(20):
if i % 10 == 0:
print()
print("{:>5}".format(fib(i)), end="")
```
输出结果如下:
```
0 1 1 2 3 5 8 13 21 34
55 89 144 233 377 610 987 1597 2584 4181
```
其中,`fib(n)` 函数用于求解斐波那契数列第 n 项,采用递归实现。`range(20)` 循环遍历前 20 项斐波那契数列,如果是每行的第一个数或第 11 个数,则 `print()` 输出一个空行;否则,使用 `"{:>5}".format(fib(i))` 格式化输出,保证每项宽度为 5 个字符位置,右对齐。最后使用 `end=""` 参数避免换行,保证所有数在同一行输出。
编写程序,定义一个求 Fibonacci 数列的函数 fib(n),并 编写测试代码,输出前 20 项(每项宽度 5 个字符位置,右 对齐),每行输出 10 个。
好的,这个问题我可以回答。下面是代码实现:
```python
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
for i in range(20):
if i % 10 == 0 and i != 0:
print()
print("{:>5}".format(fib(i)), end="")
```
输出结果如下:
```
0 1 1 2 3 5 8 13 21 34
55 89 144 233 377 610 987 1597 2584 4181
```
这个函数使用递归实现求取 Fibonacci 数列的第 n 项,然后通过循环调用 fib(n) 函数来输出前 20 项 Fibonacci 数列。在输出时,使用了字符串格式化以及格式化输出宽度等技巧。
阅读全文