Python二级题目解析
1、题目
学过编程的小程同学想帮助医生对核酸检测人群进行分流和统计,根据健康码的颜色分配不同的核酸检测区域:
- 红码:A区
- 橙码:B区
- 绿码:C区
等待核酸检测人数众多,但是具体检测人数未知,请你帮小程编写一个程序来协助医生对核酸人群进行人群分流并统计人数。
要求如下:
(1)字母R代表红码,字母Y代表黄码,G代表绿码:
(2)程序运行后根据提示信息输入一个健康码(R、Y、G中之一),输入其他字母提示“输入错误请重新输入”;根据不同的健康码,自动返回区域信息:(红码:A区、橙码:B区、绿码:C区);
(3)程序一直在重复运行,但当输入“end”表示检测结束,输出下面信息(见要求4)后程序结束运行;
(4)检测结束后输出总人数和对应红码、黄码和绿码的人数。
运行案例如下:
输入样例1:
R
输出样例1:
请到A区检测输入样例2:
Y
输出样例2:
请到B区检测输入样例3:
G
输出样例3:
请到C区检测输入样例4:
end
输出样例4:
检测结束,一共检测*人
红码:*人
黄码:*人
绿码:*人(说明:*代表实际统计的的数字)
2、答案
参考答案:
注意:仅供参考,考生可以自行设计,结果符合题意即可。
total, r, y, g = 0, 0, 0, 0
while True:
code = input("输入一个健康码(R,Y,G):")
if code == "end":
break
if code == 'R':
r += 1
print("请到A区检测")
elif code == "Y":
y += 1
print("请到B区检测")
elif code == 'G':
g += 1
print("请到C区检测")
else:
print("输入错误请重新输入")
continue
total += 1
print(f"检测结束,一共检测{total}人")
print(f"红码:{r}人")
print(f"黄码:{y}人")
print(f"绿码:{g}人")
评分标准:
(1)有无限循环语句;(2分)
(2)有条件判断语句;(2分)
(3)有break语句;(2分)
(4)当输入错误时,可以正确的输出判断结果(提示输入有错);(2分)
(5)当输入字母R、Y或G时,可以正确的提示检测区域;(6分,正确显示A区2分,正确显示B区2分,正确显示C区2分)
(6)当输入“end”时,可以正确地输出提示信息(显示相关统计数据),可以正确的终止循环;(4分。其中正确输出提示2分,正确终止循环2分)
(7)程序结果正确。(2分)