我正在尝试打印每个成绩出现在文件中的次数。 得分= [89,45,67,78,98,0] *这可以改变不同的文件,可以获得更多的数字等。
低分和高分已经被弄清楚了。我只需要显示它们之间的分数。 我错过了什么? 它不计算数字,只打印出来......
38: 0
39: 0
40: 0
41: 0
42: 0
43: 0
44: 0
45: 0
46: 0
47: 0
48: 0
49: 0
50: 0
51: 0
52: 0
53: 0
54: 0
55: 0
56: 0
57: 0
58: 0
59: 0
60: 0
61: 0
62: 0
63: 0
64: 0
65: 0
66: 0
67: 0
68: 0
69: 0
70: 0
71: 0
72: 0
73: 0
74: 0
75: 0
76: 0
77: 0
78: 0
79: 0
80: 0
81: 0
82: 0
83: 0
84: 0
85: 0
86: 0
87: 0
88: 0
89: 0
90: 0
91: 0
92: 0
93: 0
任何代码都是:
def histogram(score, low, high):
e = int(low)
o = int(high)
for i in range(e, o):
print(str(i)+": "+str(score.count(i)))
print()
答案 0 :(得分:3)
不确定这是否是您要找的。 “列表的频率”
import collections
score = [89, 45, 67, 78, 98, 0]
counter=collections.Counter(score)
print(counter)
# Counter({0: 1, 98: 1, 67: 1, 89: 1, 45: 1, 78: 1})
print(counter.most_common())
# [(0, 1), (98, 1), (67, 1), (89, 1), (45, 1), (78, 1)]
答案 1 :(得分:2)
您的得分数组是一个字符串列表。将其映射到整数列表:
score = map(int, score)
或计算每一步的字符串值:
print(str(i)+": "+str(score.count(str(i))))