刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

4.病人排队
病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:
\1. 老年人(年龄 >= 60岁)比非老年人优先看病。
\2. 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。
\3. 非老年人按登记的先后顺序看病。
时间限制:1000
内存限制:65536
输入
第1行,输入一个小于100的正整数,表示病人的个数; 后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。
输出
按排好的看病顺序输出病人的ID,每行一个。
样例输入
```
5
021075 40
004003 15
010158 67
021033 75
102012 30
```
样例输出
```
021033
010158
021075
004003
102012
```

使用微信搜索喵呜刷题,轻松应对考试!

答案:

解析:

【喵呜刷题小喵解析】首先,我们需要读取输入的病人数目和每个病人的信息。然后,我们将每个病人的信息存储为一个三元组,其中第一个元素表示病人是否为老年人(年龄大于等于60),第二个元素表示病人的ID,第三个元素表示病人的年龄。接下来,我们使用Python的内置函数sort()对病人列表进行排序。在排序时,我们使用一个lambda函数作为key参数,该函数返回一个元组,该元组的第一个元素表示病人是否为老年人,第二个元素表示病人的ID(反向存储,以便按照从大到小的顺序排序),第三个元素表示病人的年龄。最后,我们遍历排序后的病人列表,如果病人是老年人,则输出其ID的反向存储,否则直接输出其ID。需要注意的是,在Python中,字符串的切片操作可以使用步长参数,例如str[::-1]表示将字符串反转。在输出时,我们使用print()函数将每个病人的ID输出到单独的一行。
创作类型:
原创

本文链接:4.病人排队病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:\1. 老年人(

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share