测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A20353. 种植花卉园丁在花园里种植花卉,第1行种5株花。从第2行开始,如果行数能被3整除,该行种植的花卉数量是前一行的2倍;如果行数除以3余1,该行种植的花卉数量比前一行多3株;如果行数除以3余2,该行种植的花卉数量比前一行少1株。下面的递归函数用于计算第n行种植了多少株花卉,请完善划线处的代码。def flower(n): if n == 1: return ① else: leftover = ② i…

填空题 困难

题目描述

种植花卉

园丁在花园里种植花卉,第1行种5株花。从第2行开始,如果行数能被3整除,该行种植的花卉数量是前一行的2倍;如果行数除以3余1,该行种植的花卉数量比前一行多3株;如果行数除以3余2,该行种植的花卉数量比前一行少1株。

下面的递归函数用于计算第n行种植了多少株花卉,请完善划线处的代码。

def flower(n):
    if n == 1:
        return ①
    else:
        leftover = ②
        if leftover == 0:
            current = ③
        elif leftover == 1:
            current = ④
        else:
            current = flower(n-1) - 1
        return current

hang = int(input("请输入行数:"))
print(f"第{hang}行种植了{flower(hang)}株花卉")

参考答案

def flower(n): if n == 1: return 5 else: leftover = n % 3 if leftover == 0: current= flower(n-1) * 2 elif leftover == 1: current =flower(n-1)+ 3 else: current =flower(n-1) - 1 return current hang=int(input("请输入行数:")) print(f"第{hang}行种植了{flower(hang)}株花卉")
上一题 下一题