1. 问题解决二:果农采摘猕猴桃。

假设果农摘了若干个猕猴桃。当天卖出一半零一个。第二天又卖出剩下猕猴桃的一半零一个。以后每天都卖出前一天剩下的一半零一个。到第十天时,发现只剩一个猕猴桃了。问:第一天果农共摘了多少猕猴桃?

分析:采取逆向思维的方法,从后往前推断个数。

程程编写的三个版本程序段如下:

for循环版:

total=1 #第10天猕猴桃剩1个

for day in range(9,0,-1): #逆着推算,每次减1

        ⑷     #前一天的猕猴桃是当天猕猴桃数加1的两倍

print("第一天摘的猕猴桃数为:",total)

(1) 对照题目和程序,将缺失的代码填入:⑷
(2) 若将“for day in range(9,0,-1):”语句中的变量day修改为tian,则运行程序后,⑸结果(请选填:影响/不影响)
(3) while循环版:

day=10

total=1

while     ⑹    :

 total=(total+1)*2

 day=day+1 #⑦

print("第一天摘的猕猴桃数为:",total) 

while循环结束的条件是⑹____(单选,填字母)

A. day>=10 B. day>=1 C. day>1
(4) 运行此程序,没有得到正确结果。需将⑦处代码改成⑺
(5) 函数版:

def kiwi(day):

 total=1

 for i in range(day-1,0,-1):

 total=(total+1)*2

 return total

days=10

print("第一天摘的猕猴桃数为:",    ⑻    )

对照题目和程序,将缺失的代码填入:⑻

运行上述三种版本后,结果均是:第一天摘的猕猴桃数为: 1534

【考点】
循环结构程序设计与分析; 自定义语句与函数;
【答案】

您现在未登录,无法查看试题答案与解析。 登录
综合题 普通