列表添加数据的一些疑问
程序如下i=input('想知道斐波那契数列的第几位:')
i=int(i)
a=1
b=0
def fb(a,b):
c=a+b
return c
for i in range (0,i):
c=fb(a,b)
a=c
d=a
a=b
b=d
list1=[]
list1.extend()
print(b)
print(list1)
我想让这个list列表显示之前20位的所有元素
但是运行程序之后这个list1列表为只显示最后一个
而我在shell里的这段代码却可以
>>> b=1
>>> list1=[]
>>> list1.extend ()
>>> list1
>>> b=20
>>> list1
>>> list1.extend ()
>>> list1
>>>
我觉得原理差不多,请问下问题出在哪里 还有一个问题,这样输入
print '%d*%d=%d' % (i,j,i*j )
的语法问题是什么 YIRANNA 发表于 2020-9-6 01:10
还有一个问题,这样输入
print '%d*%d=%d' % (i,j,i*j )
的语法问题是什么
知道了,没有加括号 list1=[]
这个放在循环里,每次循环,都重新赋值为空列表
要达到你要的,把上面这个放循环外就行了 疾风怪盗 发表于 2020-9-6 01:18
这个放在循环里,每次循环,都重新赋值为空列表
要达到你要的,把上面这个放循环外就行了
哦哦,感谢
斐波那契额数列应该是这样的吧
你写的数列,少了第一位数0
而且for i in range (0,i):这里最好不要这么写,两个i,不易区分
添加字符元素,用append也一样的,不需要变成列表再用extend添加
可以改成这样:
num=int(input('想知道斐波那契数列的第几位:'))
def fb(a,b):
c=a+b
return c
a=1
b=0
list1 = []
for i in range (0,num):
c=fb(a,b)
a,b=b,c
list1.append(a)
print(f'斐波那契数列的第{num}位是{a}')
print(f'{num}位数的斐波那契数列是{list1}')
页:
[1]