计算机二级Python试题解读:输出斐波那契数列

Python013

计算机二级Python试题解读:输出斐波那契数列,第1张

题目:

根据斐波那契数列的定义,F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n>=2),输出不大于50的序列元素。例如:屏幕输出实例为:0.1.1.2.3…(略)。

代码模板:

考查知识点: while循环结构、多变量赋值。

试题解读

while是循环结构的关键字,后面紧跟循环条件。题目要求输出不大于50的序列元素,变量a存储斐波那契数列元素,即变量a的值不大于50,即条件表达式

a<=50

填写代码的第2个位置为语句:

a,b=_______

该语句为a和b赋值,a是斐波那契数列的第n项元素,b是斐波那契数列的第n+1项元素,且初始a=0,b=1,则应将b赋值给a,a+b赋值给b,即代码位置处写入下面的表达式:

a,b= b,a+b

完整的程序代码:

知识点

1、 while循环结构

while循环结构的语法为:

其中,表达式是循环执行的条件,每次循环执行前,都要对表达式进行计算,表达式返回逻辑值,当表达式返回结果为真时则执行循环体,否则退出循环,如果表达式返回结果在循环开始时就为假,则不执行循环体,直接退出循环;循环体包含一条或多条语句。

单个的变量、逻辑值、数值也是表达式。Python规定,当表达式需要返回逻辑值时,非0的数值为真值,0值为假值。

2、多变量赋值操作

可以在一行赋值语句中创建多个变量,语法规则是

变量名称1,变量名称2,……,变量名称n = 值1,值2,……值n

每个变量名称之间用英文逗号分隔。

例如下面的语句创建了两个变量num1和num2,num1的值是20,num2的值是30。

斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。

# 判断输入的值是否合法

if nterms <= 0:

 print("请输入一个正整数。")

elif nterms == 1:

 print("斐波那契数列:")

 print(n1)

else:

print("斐波那契数列:")

print(n1,",",n2,end=" , ")

while count <nterms:

nth = n1 + n2

print(nth,end=" , ")

# 更新值

n1 = n2

n2 = nth

count += 1

平方与前后项

从第二项开始(构成一个新数列,第一项为1,第二项为2,……),每个偶数项的平方都比前后两项之积多1,每个奇数项的平方都比前后两项之积少1。如:第二项 1 的平方比它的前一项 1 和它的后一项 2 的积 2 少 1,第三项 2 的平方比它的前一项 1 和它的后一项 3 的积 3 多 1。