Перейти к содержанию

Компьютерная Техника и программы


Рекомендуемые сообщения

Опубликовано

Ой не, циклы то стьюдент-стайл ) Регэкспой слова выдрать, отмапить чем-нибудь на уникальность, там от языка зависит чем. В питоне это например будет выглядеть так:

 

len(set(re.findall(r'\w+', text, re.UNICODE)))

  • Ответов 5.2 тыс
  • Создана
  • Последний ответ

Топ авторов темы

  • Outlawif

    641

  • andreyyy

    437

  • Cardopusher

    361

  • Faust

    329

Топ авторов темы

Опубликовано

так и не понял что такое уникальность, это слова которые не повторяются ,или повторяющиеся тоже влючены, только если 2 и больше вхождений, то считается как одно уникальное слово?

 

len(set(re.findall(r'\w+', text, re.UNICODE)))
0utlaw,

да, пайтон милый конечно, одной строкой, в джаве там пришлось бы писать более десятка строк кода

Опубликовано
кладешь в ту же папку файл с текстом и в консоли выполняешь WordCount.exe имя_файла
0utlaw,

"WordCount.exe" не является внутренней или внешней

командой, исполняемой программой или пакетным файлом :(

 

Опубликовано
не является внутренней или внешней

командой, исполняемой программой или пакетным файлом

скорее даже так

Screenshot_1.jpg

Опубликовано
не является внутренней или внешней
Что-то неправильно делаешь, такое сообщение означает, что ты запускаешь команду не в той папке где файл лежит.
в джаве там пришлось бы писать более десятка строк кода
И в джаве, и в сишарпе - обойдусь в одну. Вот так это выглядит в сишарпе: Regex.Matches(text, "\\w+").Select(x => x.Value).Distinct().Count();

 

На самом деле в моей мега-апликухе 3 строчки кода. Одна вычитывает из файла, та что выше - считает вхождения, третья выводит в консоль. На самом деле их все 3 можно записать в одну, просто будет плохо читабельно )

 

В джаве не буду гуглить синтаксис ) Но уверен что нагуглю за пару минут если захочу.

скорее даже так
Там прямо в консоли написано, где взять последнюю версию дотнета. Я разумеется на последней пишу, которая осенью релизнулась. Хз когда она в обновы винды попала, но в последних точно должна быть.

 

Можно дистрибутив сделать, чтобы сам обновлял, но вдруг оно кому не надо, да и дольше это, чем код писать...

 

Опубликовано
если слово совпадает то увеличиваешь каунтер, потом можно отнять повторяющиеся слова и получить кол-во не повторяющихся

 

Вообще не понял ход твоих мыслей

 

Что значит считать повторяющиеся ? Все в кучу ? не важно, какое слово сколько раз, на выходе имеешь одно число ? И что даст отнимание общего числа от этого ?

 

И самое главно, зачем считать повторяющиеся ? Почему не считать сразу неповторящиеся - вот в чем вопрос.

Если уникально - увеличиаем на единицу каунтер. Никаки отниманий.

 

Ну или в табличку загнать, селектом выбрать количесвто уникальных записей.

 

ДРуое дело, что сразу мысль, что за данные. Может там pdf какой ли ворд с картинками там, таблицами, прочим не-текстом.

Тогда одна команда перегона в строку заменяется на парсинг в зависимости от того, с чем работаем

Опубликовано
Там прямо в консоли написано, где взять последнюю версию дотнета

не, мне слова считать без надобности, я прост Котегу показал, что работает, а то, шо библиотек не хватает - то уже кому надо, тот скачает я)

Опубликовано
Вообще не понял ход твоих мыслей
andreyyy,

я ж говорю, программирование не мое, логика не работает. Если можно сразу считать уникальные слова, не повторяющиеся - это проще гораздо

Опубликовано
это проще гораздо
Пока дело не дойдет до оптимизации, и какому-нибудь куэю не придет в голову посчитать уникальные слова в Википедии )) Тогда придется делать потоковый алгоритм, хэширование результата и... и вообще дофига можно придумать усложнений для любой простой задачи ))
Опубликовано
. Если можно сразу считать уникальные слова, не повторяющиеся - это проще гораздо

 

так это...

если допустим нельзя считать неповторяющиеся, то как ты тогда хотел считать повторяющиеся?

Ну чтоб тебе понять, что оно повторяющееся, нужно же сначала проверить, имеется ли уже такое слово каком-то хранилище (у тебя в примере массив). Правильно ?

Ну и..

true или false

либо есть, либо нет.

Вот как ты считал бы повторяющиеся, так бы и неповторяющиеся

 

И что значит проще ?

Я вообще не понял, как ты решил задачу (пусть и в голове и не на языке программирования, а логически)

 

 

Ты сваливаешь в одну кучу все повторяющиеся, получаешь на выходе одно число. Что оно может дать ? Как его можно использовать ?

 

ты же не знаешь, какое сколько раз повторялось.

 

Что даст вычитание общего числа от этого ? Там же в той куче по одному разу лежат те, которых ты лишил множество искомых неповторяющихся.

 

Я вообще не понял, как ты решил короче

Создайте учетную запись или войдите, чтобы комментировать

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти
×
×
  • Создать...