帅哥一起吃火锅 发表于 2020-4-29 16:37:43

第一行输出不超过n的菲波那切数列元素,第二行输出平均值

def feibonaqie(number):
    if number==1:
      return 1
    elif number==2:
      return 1
    else:
      return (feibonaqie(number-1)+feibonaqie(number-2))
a=int(input())
b=1
sum=1
average=1
while feibonaqie(b)<=a:
                print(feibonaqie(b),end=" ")
                sum+=feibonaqie(b)
                b+=1
average=round(sum/b)
print("\n",average)

为什么我这样写第二行输出的平均值前会多出一个空格

冬雪雪冬 发表于 2020-4-29 16:48:12

因为print的参数用逗号分隔自动会添加一个空格。改成print("\n",average, sep = '')

帅哥一起吃火锅 发表于 2020-4-29 16:51:38

冬雪雪冬 发表于 2020-4-29 16:48
因为print的参数用逗号分隔自动会添加一个空格。改成print("\n",average, sep = '')

懂了
页: [1]
查看完整版本: 第一行输出不超过n的菲波那切数列元素,第二行输出平均值