我是python编程的新手,我的代码中出现运行时错误。任何帮助表示赞赏。
import statistics
tc = int(input())
while tc > 0:
n = int(input())
arr = input()
l = list(map(int, arr.split(' ')))
print("{} {} {}".format(statistics.mean(l), statistics.median(l), statistics.mode(l)))
tc = tc - 1
StatisticsError: no unique mode; found 2 equally common values
第一行由一个整数T组成,表示测试用例的数量。 每个测试用例的第一行由表示数组大小的单个整数N组成。 下面的行由N个空格分隔的整数组成,表示数组中的元素。
对于每个测试用例,输出一行包含三个分隔的整数,表示数组的均值,中值和模式
1
5
1 1 2 3 3
2 2 1
答案 0 :(得分:2)
您可以添加mode
所包围的变量try...except
,如果statistics
有错误,请将模式设为different way。
try:
mode=statistics.mode(l)
except:
mode=max(set(l),key=l.count)
print("{} {} {}".format(statistics.mean(l), statistics.median(l), mode))
答案 1 :(得分:0)
你好Kartik Madaan,
试试这段代码,
import statistics
from statistics import mean,median,mode
tc = int(input())
while tc > 0:
n = int(input())
arr = input()
l = list(map(int,arr.split()))
mod = max(set(l), key=l.count)
print(int(mean(l)),int(median(l)),mod)
tc = tc - 1
我希望我的回答很有帮助 如果有任何疑问请评论。