一、编程题
1、36.学过编程的小程同学想帮助医生对核酸检测人群进行分流和统计,根据健康码的颜色分配不同的核酸检测区域:
红码: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:
检测结束,一共检测*人
红码:*人
黄码:*人
绿码:*人
(说明:*代表实际统计的的数字)
参考答案:
略
解析:【喵呜刷题小喵解析】本题要求编写一个程序,根据输入的健康码颜色(红码、黄码、绿码)将人群分流到不同的检测区域,并统计各类健康码的人数。程序会一直运行,直到输入“end”表示检测结束。首先,我们定义一个函数`分流统计()`,用于实现分流和统计的功能。在函数内部,我们定义了四个变量:`total_num`表示总人数,`red_code_num`表示红码人数,`yellow_code_num`表示黄码人数,`green_code_num`表示绿码人数。然后,我们使用一个无限循环(`while True`)来接收用户输入。在每次循环中,我们首先使用`input()`函数接收用户输入的健康码颜色,然后判断输入的值。如果输入的是“end”,则表示检测结束,我们输出总人数和各类健康码的人数,并使用`break`语句跳出循环。如果输入的是“R”,则表示红码,我们将红码人数加1,并输出“请到A区检测”。如果输入的是“Y”,则表示黄码(题目中黄码应为橙码,但按照题目要求处理),我们将黄码人数加1,并输出“请到B区检测”。如果输入的是“G”,则表示绿码,我们将绿码人数加1,并输出“请到C区检测”。如果输入的不是“R”、“Y”或“G”,则表示输入错误,我们输出“输入错误,请重新输入”。最后,无论输入的是哪种健康码,我们都将总人数加1。最后,我们调用`分流统计()`函数来运行程序。
2、37.设计一个海龟绘图程序,程序效果如下图。
要求:
(1)程序开始后,弹出对话信息“请输入边数:”,要求用户输入所要绘制的图形的边数;
(2)海龟从里往外绘制图形,逆时针旋转(向左);
(3)线条初始长度为15,相邻两条边相差5(每一个线条均比前一个线条长5);
(4)线条颜色顺序依次为红色、蓝色、橘色、绿色('red','blue','orange','green')四个颜色组成的列表(必须使用列表方式进行读取);
(5)总共边数符合输入给定的数字。
参考答案:
略
解析:【喵呜刷题小喵解析】这个题目要求设计一个海龟绘图程序,根据用户输入的边数绘制一个多边形。程序需要满足以下要求:1. 程序开始后,弹出对话信息“请输入边数:”,要求用户输入所要绘制的图形的边数。2. 海龟从里往外绘制图形,逆时针旋转(向左)。3. 线条初始长度为15,相邻两条边相差5(每一个线条均比前一个线条长5)。4. 线条颜色顺序依次为红色、蓝色、橘色、绿色('red','blue','orange','green')四个颜色组成的列表(必须使用列表方式进行读取)。5. 总共边数符合输入给定的数字。根据这些要求,我们可以使用Python的turtle库来实现。首先,我们定义一个函数`draw_polygon()`,在这个函数中,我们首先让用户输入边数,然后使用turtle库进行绘图。在`draw_polygon()`函数中,我们定义了一个颜色列表`colors`,包含红色、蓝色、橘色和绿色。然后,我们让海龟移动到初始位置,开始绘制多边形。在绘制多边形的过程中,我们使用一个循环来绘制每一条边。在循环中,我们调用`draw_line()`函数来绘制一条边,并改变海龟的方向。`draw_line()`函数根据当前的边数来计算线条的长度,并绘制出线条。如果当前边数小于颜色列表的长度,我们还改变线条的颜色。最后,我们调用`draw_polygon()`函数开始绘图,并使用`turtle.done()`来结束绘图。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!