当我们过马路的时候,经常会遇到红绿灯,你知道这些信号灯的时长是怎么来的吗?若要用python分析计算人行马路最短绿灯时长,我们需要知道马路的宽度s,行人的步行速度v以及行人的反应时长t0,因为绿灯的最短时长计算公式为t=s/v+t0。 不同的人有不同的行走速度。通常在正常成人、老人、小孩的步行速度中,应选取老人或者小孩的数据进行计算比较合理。 用Python模拟编写绿灯最短时长程序和测试输出结果(测试输入马路宽度为15)分别如下,请补全划线处代码: v=1.2 #设置行走速度 t0=1 #设置行人反应时长 s=int(input("请输入马路的宽度(米):")) t= ① print(t) #观察发现,在实际生活中,绿灯显示时长不可能为小数,因此若要上述输出结果正常,可以修改print(t)语句,那么你会如何修改?请在下方填入你的代码。 if t>int(t): print( ② ) elif t==int(t): print( ③ )

正确答案:①s/v+t0 ②int(t)+1 ③int(t)
答案解析
评分标准:
(1)s/v+t0或等效答案;(4分)
(2)int(t)+1 或等效答案;(3分)
(3)int(t)或等效答案。(3分)
解析:(1)处根据题目给出的条件可知,绿灯时长t=s/v+t0,显然此处已知条件都已具备,且根据输出结果来看,计算的结果为浮点类型,因此将公式表达为Python表达式即可,即s/v+t0。
(2)处由于绿灯的显示时长一般为整数,若计算的结果为13.5,那么实际时长应从14开始, 若结果恰好为13.0,那么实际显示数据应是13,即在计算公式保持不变的情况下,我们应使得计算结果向上取整。从分支语句来看,划线处可以使用int(t)+1替代原来的print(t)语句。
(3)处无需加1。
试卷来源:202312 青少年软件编程等级考试Python三级真题