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

admin2022-09-09  25

问题 以下程序的输出结果是(          )。
   def fibRate(n):
     if n<=0:
       retum-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()方法加入列表1中。
    当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+11=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://jikaoti.com/ti/g750FFFM
0

相关试题推荐
最新回复(0)