Я делаю функцию, которая создаст список, который включает гистограмму запрошенного списка и запрошенные значения для использования в качестве значений гистограммы.Значения выше запрошенного значения включаются последними.
Программа работает со списком, который отсортирован по возрастанию в числовом порядке, но когда в качестве входных данных используется список, который не отсортирован, программа, похоже, отбрасывает случайные значенияи не оценивать так же.код:
def histogram(sample, binBoundaries):
c=0
if not binBoundaries:
li = [len(sample)]
return print(li)
for x in sample:
if x > binBoundaries[-1]: #if the value is greater than last bin
c = c+1 #number of values greater increases
for eachbin in binBoundaries: #for each bin
dic[eachbin] = 0 #initial value = 0 to account for no number
for x in sample: #for each value wanted to calculate for
if x <= eachbin: #if the number falls into the bin
dic[eachbin] += 1 #the number of values in the bin increases
sample.remove(x)
for i in dic:
listofvalues.append(dic[i])
listofvalues.append(c)
print(listofvalues)
гистограмма ([5, 4, 2, 3], [3])
это приведет к выводу [1, 2], где действительноевывод должен быть [2,2]
Есть что-то, чего я просто не вижу, что делает число не рассчитанным?Дай мне знать, где я ошибся, если сможешь!