利用列表lst计算斐波那契数列前30项Python
时间: 2023-12-21 18:06:23 浏览: 136
可以使用列表来存储斐波那契数列的前两项,然后通过循环来计算后面的项,并将其添加到列表中,最后输出列表即可。
以下是计算斐波那契数列前30项的Python代码:
```python
lst = [0, 1] # 初始化斐波那契数列的前两项
for i in range(2, 30):
lst.append(lst[i-1] + lst[i-2]) # 计算并添加下一项
print(lst)
```
输出结果为:
```
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040]
```
注意,斐波那契数列的第一项是0,第二项是1。
相关问题
编写一个 Python 程序,打印出所有的质数。 编写一个 Python 程序,计算并打印出斐波那契数列的前 n 项。 编写一个 Python 程序,计算并打印出 1 到 n 的阶乘。 编写一个 Python 程序,将一个字符串反转。 编写一个 Python 程序,判断一个字符串是否是回文字符串。 编写一个 Python 程序,实现一个简单的计算器,可以进行加、减、乘、除运算。 编写一个 Python 程序,实现一个猜数字游戏,让用户猜一个随机数。 编写一个 Python 程序,将一个列表中的元素去重。
1. 打印所有质数:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
n = int(input("请输入一个正整数 n:"))
print("1 到 %d 中的所有质数为:" % n)
for i in range(2, n + 1):
if is_prime(i):
print(i, end=" ")
```
2. 计算并打印斐波那契数列前 n 项:
```python
n = int(input("请输入一个正整数 n:"))
fib = [1, 1]
for i in range(2, n):
fib.append(fib[i - 1] + fib[i - 2])
print("斐波那契数列前 %d 项为:" % n)
for i in range(n):
print(fib[i], end=" ")
```
3. 计算并打印 1 到 n 的阶乘:
```python
n = int(input("请输入一个正整数 n:"))
factorial = 1
for i in range(1, n + 1):
factorial *= i
print("1 到 %d 的阶乘为:%d" % (n, factorial))
```
4. 将一个字符串反转:
```python
s = input("请输入一个字符串:")
s_reversed = s[::-1]
print("反转后的字符串为:%s" % s_reversed)
```
5. 判断一个字符串是否是回文字符串:
```python
s = input("请输入一个字符串:")
if s == s[::-1]:
print("是回文字符串")
else:
print("不是回文字符串")
```
6. 实现一个简单的计算器,可以进行加、减、乘、除运算:
```python
num1 = float(input("请输入第一个操作数:"))
operator = input("请输入操作符(+、-、*、/):")
num2 = float(input("请输入第二个操作数:"))
if operator == "+":
result = num1 + num2
elif operator == "-":
result = num1 - num2
elif operator == "*":
result = num1 * num2
elif operator == "/":
result = num1 / num2
else:
print("无效的操作符")
exit()
print("结果为:%.2f" % result)
```
7. 实现一个猜数字游戏,让用户猜一个随机数:
```python
import random
num = random.randint(1, 100)
guess = 0
while guess != num:
guess = int(input("请输入一个 1 到 100 之间的整数:"))
if guess > num:
print("猜大了")
elif guess < num:
print("猜小了")
print("恭喜你猜对了!")
```
8. 将一个列表中的元素去重:
```python
lst = [1, 2, 3, 2, 4, 3, 5, 6, 4, 7]
lst_unique = list(set(lst))
print("去重后的列表为:", lst_unique)
```
python编写函数,要求返回参数为n(n>=0)时的斐波那契数列的列表,并调用该函数,分别显示n=20和n=30时的斐波那契数列。
### 回答1:
以下是 Python 代码实现:
```python
def fibonacci(n):
"""
返回第n项以及之前所有项的斐波那契数列。
"""
fib = [0, 1]
for i in range(2, n + 1):
fib.append(fib[i-1] + fib[i-2])
return fib
# 调用函数并显示结果
print(f"Fibonacci sequenece with n=20: {fibonacci(20)}")
print(f"Fibonacci sequenece with n=30: {fibonacci(30)}")
```
输出结果如下:
```
Fibonacci sequenece with n=20: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765]
Fibonacci sequenece with n=30: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269]
```
### 回答2:
斐波那契数列是指前两个数为1,从第三个数开始,每个数都等于它前面两个数之和。首先我们可以定义一个函数fibonacci,该函数有一个参数n,表示需要生成斐波那契数列的长度。然后在该函数中,我们创建一个空列表lst,用来存储斐波那契数列。接着,我们利用循环生成斐波那契数列,并将每个数添加到列表lst中。最后,返回列表lst。
下面是Python代码实现:
```python
def fibonacci(n):
lst = []
a, b = 1, 1
lst.append(a)
lst.append(b)
for _ in range(n-2):
a, b = b, a + b
lst.append(b)
return lst
# 调用函数,并显示n=20时的斐波那契数列
print(fibonacci(20))
# 调用函数,并显示n=30时的斐波那契数列
print(fibonacci(30))
```
以上代码会先调用fibonacci函数,分别传入参数20和30,并打印出对应的斐波那契数列。
### 回答3:
斐波那契数列是一个数列,第一个元素为0,第二个元素为1,从第三个元素开始,每个元素的值等于前两个元素的和。Python编写函数用来生成斐波那契数列的列表时,请参考以下代码:
```python
def fibonacci_list(n):
fib_list = [0, 1] # 初始化斐波那契数列的列表,前两个元素为0和1
for i in range(2, n + 1):
fib_list.append(fib_list[i - 1] + fib_list[i - 2]) # 计算第i个元素的值并添加到列表中
return fib_list
n = 20
fib_list_20 = fibonacci_list(n)
print(f'当n=20时的斐波那契数列为:{fib_list_20}')
n = 30
fib_list_30 = fibonacci_list(n)
print(f'当n=30时的斐波那契数列为:{fib_list_30}')
```
该函数的原理是使用循环从第三个元素开始逐个计算并添加到列表中,直到达到指定的n。然后分别调用函数,传入n的值20和30,并将返回的斐波那契数列列表打印输出。执行该程序后,输出结果分别为n=20时的斐波那契数列和n=30时的斐波那契数列。
阅读全文