洛谷题单2-P1046 [NOIP 2005 普及组] 陶陶摘苹果-python-流程图重构

题目描述

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

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

输入格式

输入包括两行数据。第一行包含 10 10 10 100 100 100 200 200 200 之间(包括 100 100 100 200 200 200)的整数(以厘米为单位)分别表示 10 10 10 个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个 100 100 100 120 120 120 之间(包含 100 100 100 120 120 120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。

输出格式

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

输入输出样例

输入

100 200 150 140 129 134 167 198 200 111
110

输出

5

说明/提示

【题目来源】

NOIP 2005 普及组第一题

方式

代码

class Solution:
    @staticmethod
    def oi_input():
        """从标准输入读取数据"""
        heights = list(map(int, input().split()))
        target = int(input())
        return heights, target

    @staticmethod
    def oi_test():
        """提供测试数据"""
        return [100, 200, 150, 140, 129, 134, 167, 198, 200, 111], 110

    @staticmethod
    def solution(heights, target):
        target += 30
        count = 0

        for i in heights:
            if i <= target:
                count += 1

        print(count)

oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solution

if __name__ == '__main__':
    heights, target = oi_test()
    # heights, target = oi_input()
    solution(heights, target)

流程图

苹果判断循环
i ≤ target?
循环遍历苹果高度
for i in heights
count += 1
继续循环
开始
主函数调用
读取苹果高度列表
heights = list(map(int, input().split()))
读取陶陶身高
target = int(input())
计算总高度
target += 30
初始化计数器 count=0
输出结果
print(count)
结束

你可能感兴趣的:(LuoGu-python,python,算法,开发语言)