当前位置:首页>python>Python编程题:25.P1046 [NOIP 2005 普及组] 陶陶摘苹果

Python编程题:25.P1046 [NOIP 2005 普及组] 陶陶摘苹果

  • 2026-09-02 17:03:50
Python编程题:25.P1046 [NOIP 2005 普及组] 陶陶摘苹果

点击蓝字 关注我们

今天要做的是来自洛谷网站的P1046 [NOIP 2005 普及组] 陶陶摘苹果。

https://www.luogu.com.cn/problem/P1046

有账号的可以上去做做。

P1046 [NOIP 2005 普及组] 陶陶摘苹果

题目描述

陶陶家的院子里有一棵苹果树,每到秋天树上就会结出 10 个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个 30 厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。

现在已知 10 个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。

输入格式

输入包括两行数据。

第一行包含 10 个 100 到 200 之间(包括 100 和 200)的整数(以厘米为单位)分别表示 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。

第二行只包括一个 100 到 120 之间(包含 100 和 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出格式

输出包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。

输入输出样例

解题思路

树上一共 10 个苹果,给出每个苹果离地高度;

已知陶陶伸手可到达高度,踩上 30cm 板凳可以增加高度。

能摸到苹果条件:苹果高度<=陶陶伸手高度 +30

统计满足条件的苹果总数量并输出。

做题步骤:

1、读取第一行 10 个整数,保存为列表(10 个苹果高度);

2、读取第二行整数,陶陶伸手最大高度;

3、计算最高可触及高度:伸手高度 +30;

4、遍历 10 个苹果高度,逐个判断,满足则计数 + 1;

5、输出最终计数。

知识点

  • 字符输入 input() 获取字符串,split()分割字符串,int()转换成整数。再用list转换成列表。

    a=list(map(int,input().split()))

  • 遍历列表的2种方法:

    1、for i in list1:i对应列表中的元素

    2、for i in range(len(list1)):i只是取值0-len(list1)-1。获取列表的值需list1[i].

  • 变量累加:先初始化一个变量,再累加,常用count=0   count+=1

  • 条件判断if

参考代码及解析

1、apples=list(map(int,input().split()))

读取10个苹果的高度,并存储为列表apples。

2、height=int(input()):读取伸手碰得到的高度。

3、num=0:初始化计数。

4、for apple in apples:

遍历列表,apple为每个苹果的高度值。

5、if apple<=height+30:

num+=1

判断苹果高度和陶陶能够得到的高度(伸手的高度+凳子高度)。能摘到,数量就加1

6、print(num)

输出能够摘到的数量。

如果你觉得意犹未尽,那就趁热打铁,继续挑战一下吧!

lst = [120, 140, 130]

cnt = 0

for x in lst:   

     if x <= 140:

        cnt += 1

print(cnt)

程序输出结果()

A.1     B.2     C.3    D.0

点击空白处查看答案

答案:C

解析:学会阅读代码,就要知道每个代码块的含义。

第一行是列表,

第二行初始化了一个变量(用来干嘛,看到后面+=1,具体待会再看)。

第3-5行是一个循环,对列表循环,x取得列表中的值,判断列表的值是否小于140,满足条件cnt+1。(也就是说这个循环的作用就是找列表中有几个数小于等于140)

第6行,输出cnt值。

所以这段代码就是求列表中小于等于140的数有几个。答案是3个.

最新文章

随机文章