以下代码的输出结果是( )。 def fibRate(n): if n

admin2020-04-10  27

问题 以下代码的输出结果是(    )。
  def fibRate(n):
    if n<=0:
    return—1
    elif n==1:
    retum—1
    elif n==2:
    return 1
    else:
    L=[1,5]
    for i in range(2,n):
    L.append(L[一1]+L[一2])
    return L[一2]%L[一1]
  print(fibRate(7))

选项 A、0.6
B、28
C、一1
D、1

答案B

解析 将实参7传递给函数形参变量n,之后进入多分支结构,依次判断后,执行else后面的语句。for语句为:for i in range(2,7),i从2依次变化到6,循环5次,将L[一1]+L[一2]的值通过append()方法加入到列表L中。
    当i=2时,L[一1]+L[一2]=5+1=6,将6添加到列表L中,此时L=[1,5,6];
    当i=3时,L[一1]+L[一2]=6+5=11,将11添加到列表L中,此时L=[1,5,6,11];
    当i=4时,L[一1]+L[一2]=11+6=17,将17添加到列表L中,此时L=[1,5,6,11,17];
    当i=5时,L[一1]+L[一2]=17+ll=28,将28添加到列表L中,此时L=[1,5,6,11,17,28];
    当i=6时,L[一1]+L[一2]=28+17=45,将45添加到列表L中,此时L=[1,5,6,11,17,28,45]。
    最后L[一2]%L[一1]=28%45=28,故程序输出28。本题选择B选项。
转载请注明原文地址:https://kaotiyun.com/show/T86p777K
0

最新回复(0)