前言: {\color{Blue}前言:} 前言:本系列题使用的是“PTA中的团体程序设计天梯赛——练习集”的题库,难度有L1、L2、L3三个等级,分别对应团体程序设计天梯赛的三个难度,如有需要可以直接查看对应专栏。发布个人的刷题笔记的同时,也是希望可以帮助到有需要的人,我会尽量的解释每一步代码,如有错误或者可以优化的地方还望各位CSDN的朋友可以指出来。更新速度预计是每天不定时更新三道,若当天没有更新后期将会补上。
题目
你永远叫不醒一个装睡的人 —— 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分钟50-70次。下面给定一系列人的呼吸频率与脉搏,请你找出他们中间有可能在装睡的人,即至少一项指标不在正常范围内的人。
输入格式
输入在第一行给出一个正整数
N
(
≤
10
)
N(≤10)
N(≤10)。随后N行,每行给出一个人的名字(仅由英文字母组成的、长度不超过3个字符的串)、其呼吸频率和脉搏(均为不超过100的正整数)。
输出格式:
按照输入顺序检查每个人,如果其至少一项指标不在正常范围内,则输出其名字,每个名字占一行。
输入样例:
4
Amy 15 70
Tom 14 60
Joe 18 50
Zoe 21 71
输出样例:
Tom
Zoe
题解
def check_sleeping(N, data):
result = [] # 存储装睡的人的名字列表
for i in range(N):
name, breath, pulse = data[i] # 解包获取人的名字、呼吸频率和脉搏
if breath < 15 or breath > 20 or pulse < 50 or pulse > 70:
# 判断呼吸频率和脉搏是否在正常范围内
result.append(name) # 将装睡的人的名字添加到结果列表中
return result
N = int(input()) # 读取人数
data = [] # 存储输入数据的列表
for _ in range(N):
name, breath, pulse = input().split() # 读取人的名字、呼吸频率和脉搏
data.append((name, int(breath), int(pulse))) # 将数据添加到列表中
result = check_sleeping(N, data) # 调用函数检查装睡的人
for name in result:
print(name) # 输出装睡的人的名字