""" Liczenie znaków w pliku. Program przyjmuje dwa argumenty: ścieżkę do pliku oraz szerokość wykresu w znakach. """ import sys def zlicz(sciezka): plik = open(sciezka, 'r') katalog = {} for linia in plik: for znak in linia: katalog[znak] = katalog.get(znak,0) + 1 plik.close() return katalog def rozklad(slownik,szer): posortowane = [] for i in slownik.items(): posortowane.append([i[1],i[0]]) posortowane.sort(reverse = True) #posortowane.reverse() maxl = posortowane[0][0] for i in posortowane: n = i[0]*szer//maxl znak = i[1] if i[1] != '\n' else '\\n' print("{:2}: {:{wdth}} {}".format(znak,"#"*n,i[0],wdth=szer)) #Plik i szerokość wykresu z argumentów programu rozklad(zlicz(sys.argv[1]),int(sys.argv[2]))