学习Python从娃娃抓起!记录下蓝桥杯Python学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:小学生蓝桥杯Python闯关 | 汇总_COCOgsta的博客-CSDN博客
【题目描述】
提示信息: 平均数: 是指在一组数据中所有数据之和再除以这组数据的个数。 如:“1,2,3,4,5”这组数的平均数为3.00。(1+2+3+4+5)/5=3.00
中位数: 将一组数据从大到小排序后,位置在最中间的数值。 分两种情况: 当数据个数为奇数时,中位数为中间的那个数的值; 当数据个数为偶数时,中位数为中间的两个数的平均数。 如: “1,3,5,7,9”这组数据有5个数字,中位数为5; “1,3,5,7”这组数据有4个数字,中位数为4。
众数: 是一组数据中出现次数最多的那个数值。 如:“1,3,5,7,9,9”这组数据9出现的次数最多,故众数为9。
编程实现: 给定一组正整数,然后分行输出这组正整数的平均数,中位数,众数
【输入描述】
输入一组正整数并以一个英文逗号隔开
【输出描述】
第一行输出平均数(保留两位小数) 第二行输出中位数(保留两位小数) 第三行输出众数(如果有多个数值出现的次数相同,则取数值最大的作为众数)
【样例输入】
1,3,5,7,9,9
【样例输出】
5.67 6.00 9
【代码详解】
ls = [int(i) for i in input().split(",")]
avg = sum(ls) / len(ls)
print("%.2f" % avg)
ls = sorted(ls, reverse=True)
# print(ls)
if len(ls) % 2 == 1:
print("%.2f" % (ls[len(ls)//2]))
elif len(ls) % 2 == 0:
print("%.2f" % ((ls[len(ls)//2] + ls[len(ls)//2-1]) /2))
cnt = 0
ls2 = []
for i in ls:
ls2.append(ls.count(i))
max = ls2[0]
ind = 0
for i in range(1, len(ls2)):
if max < ls2[i]:
max = ls2[i]
ind = i
print(ls[ind])
【运行结果】
1,3,5,7,9,9
5.67
6.00
9