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)}株花卉")
上一题
下一题