Перейти до публікації

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


Рекомендовані повідомлення

Опубліковано:

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

 

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

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

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

 

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

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

 

 

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

 

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

 

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

 

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

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунту. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...