【电子学会】2022年06月Python二级 -- 编程题36

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分)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少年编程小助手_Python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值