Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 5, 2011 20:56:07

Лёша
От:
Зарегистрирован: 2011-01-30
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Здравствуйте, уважаемые знатоки. Помогите пожалуйста с такой задачей. Требуется скрипт, выбирающий в рандомном порядке слова из текстового файла. Длина выбранных слов должна быть > = 3 символа. Программа запрашивает требуемое количество слов и создаёт текстовый файл.



Отредактировано (Апрель 5, 2011 21:03:50)

Офлайн

#2 Апрель 6, 2011 02:31:01

fth
От:
Зарегистрирован: 2010-07-26
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Создаёте сначала список подходящих слов прочитав входной файл, затем выбирая слова из него по случайному индексу пишете требуемое их количество в выходной файл.



Офлайн

#3 Апрель 6, 2011 15:40:16

Лёша
От:
Зарегистрирован: 2011-01-30
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Жаль только, что я не знаю, ка это сделать



Офлайн

#4 Апрель 6, 2011 15:58:37

ptax
От:
Зарегистрирован: 2010-09-18
Сообщения: 32
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Лёша
Жаль только, что я не знаю, ка это сделать
import random


file_word = open(r'C:\slova.txt').read()
list_word = file_word.split('\n')



random_word = random.choice(list_word)
if len(random_word) >= 3:
print random_word



Офлайн

#5 Апрель 6, 2011 18:04:36

Лёша
От:
Зарегистрирован: 2011-01-30
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Скормил скрипту текстовый файл, но получается не то что нужно. Проблема в том, выводит случайные строки текста, а не отдельные слова в рандомном порядке



Отредактировано (Апрель 6, 2011 20:59:39)

Офлайн

#6 Апрель 6, 2011 21:08:45

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Генератор набора слов

list_word = file_word.split('\n')
замени на
list_word = file_word.split()



Офлайн

#7 Апрель 7, 2011 16:33:14

Лёша
От:
Зарегистрирован: 2011-01-30
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Спасибо всем ответившим. Как бы теперь сделать, чтобы можно было задавать количество сгенерированных слов, и записывать результат в текстовый файл. И чтобы слова не повторялись. Пожалуйста, помогите



Офлайн

#8 Апрель 7, 2011 17:16:46

agalen
От:
Зарегистрирован: 2011-03-23
Сообщения: 185
Репутация: +  17  -
Профиль   Отправить e-mail  

Генератор набора слов

Этот код выводит 100 уникальных слов в файл result.txt

import random

file_word = open(r'C:\slova.txt','r').read()
words = set( x for x in file_word.split() if len( x ) >=3 )
out_file = open( 'result.txt', 'w' )
out_file.write( "\n".join( random.sample( words, 100 ) ) )
out_file.close()



Офлайн

#9 Апрель 7, 2011 21:30:09

Лёша
От:
Зарегистрирован: 2011-01-30
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Генератор набора слов

Спасибо agalen! Как раз, то что нужно!



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version