Как подсчитать частоту букв, которые появляются в слове «supercaliforniamightly», когда пользователь вводит такое слово в Ruby и распечатывает звезды или звездочки, чтобы подсчитать количество букв, которые появляются?Как подсчитать частоты букв в пользовательском вводе?
Вот мой код:
puts "Enter string: "
text= gets.chomp
text.downcase!
words = text.split(//)
frequencies = Hash.new(0)
words.each{|item| frequencies[item] +=1}
frequencies = frequencies.sort_by{ |item, amount| amount}
frequencies.reverse!
frequencies.each do |item, amount|
puts item + " " + amount.to_s
end
Выход я хочу что-то вроде:
Enter a string:
uuuuiiii
u , 4 ****
i , 4 ****
Что такое 'Text'? – sawa
Мне потребовалось некоторое время, чтобы понять ваш вопрос. Вы начинаете с того, что говорите: «Как вы считаете частоту букв ...», затем переходите к представлению кода, который делает это просто отлично. Предположительно, ваш вопрос касается только форматирования вашего вывода. Фактически, способ вычисления частот не имеет значения. Возможно, вы только что сказали, что для '' uuuuiii'' вы построили хэш 'h = {'u' => 4, 'i => 3}' и хотели знать, как создать конкретный выходной формат. В любом случае, в будущем, проясните, о чем вы просите. –