A35935. 中国电子学会主办的“全国青少年信息素养大赛”总决赛要开始了,组委会的老师要统计各个赛项报名的人数。请帮着写一个程序,实现该功能:统计时,输入各项编号表示对应的比赛:1:Python编程挑战赛2:开源鸿蒙主题赛3:智慧物流挑战赛0:表示录入完毕要求:一、循环执行二、当输入错误数据,可以提示“没有此编号请重复输入”;三、当输入0后,自动统计所有项目的参赛人数,并输出出来;如下面的案例:输入样例:请输…
填空题
较易
知识点
题目描述
中国电子学会主办的“全国青少年信息素养大赛”总决赛要开始了,组委会的老师要统计各个赛项报名的人数。请帮着写一个程序,实现该功能:统计时,输入各项编号表示对应的比赛:
1:Python编程挑战赛
2:开源鸿蒙主题赛
3:智慧物流挑战赛
0:表示录入完毕
要求:
一、循环执行
二、当输入错误数据,可以提示“没有此编号请重复输入”;
三、当输入0后,自动统计所有项目的参赛人数,并输出出来;如下面的案例:
输入样例:
请输入赛项编号:
1
请输入赛项编号:
2
请输入赛项编号:
3
请输入赛项编号:
2
请输入赛项编号:
1
请输入赛项编号:
1
请输入赛项编号:
0
输出样例:
Python编程挑战赛:3人
开源鸿蒙主题赛:2人
智慧物流挑战赛:1人
参考答案
#参考程序1:
d={'Python编程挑战赛':0,'开源鸿蒙主题赛':0,'智慧物流挑战赛':0}
while True:
num=input('请输入赛项编号:')
if num=='1':
d['Python编程挑战赛']+=1
elif num=='2':
d['开源鸿蒙主题赛']+=1
elif num=='3':
d['智慧物流挑战赛']+=1
elif num=='0':
break
else:
print('没有此编号请重新输入')
continue
print('统计结果如下:')
for i in d:
print(i+':'+str(d[i])+'人')
#参考程序2:
sum1=0 #Python编程挑战赛
sum2=0 #开源鸿蒙主题赛
sum3=0 #智慧物流挑战赛
while True:
num=input('请输入赛项编号:')
if num=='1':
sum1+=1
elif num=='2':
sum2+=1
elif num=='3':
sum3+=1
elif num=='0':
break
else:
print('没有此编号请重新输入')
continue
print('统计结果如下:')
print('Python编程挑战赛:'+str(sum1))
print('开源鸿蒙主题赛:'+str(sum2))
print('智慧物流挑战赛:'+str(sum3))答案解析
评分标准:
(1)有循环语句,可以重复输入数据;(4分)
(2)当输入0,循环可以正确的结束;(2分)
(3)有条件判断语句,可以统计对应赛项的人数;(4分)
(4)当输入错误数据,可以提示“没有此编号请重复输入”;(4分)
(5)可以按照正确的格式打印;(2分)
(6)程序运行结果正确。(4分)
上一题
下一题