Форум сайта python.su
0
Здравствуйте, уважаемые знатоки. Помогите пожалуйста с такой задачей. Требуется скрипт, выбирающий в рандомном порядке слова из текстового файла. Длина выбранных слов должна быть > = 3 символа. Программа запрашивает требуемое количество слов и создаёт текстовый файл.
Отредактировано (Апрель 5, 2011 21:03:50)
Офлайн
0
Создаёте сначала список подходящих слов прочитав входной файл, затем выбирая слова из него по случайному индексу пишете требуемое их количество в выходной файл.
Офлайн
0
Жаль только, что я не знаю, ка это сделать
Офлайн
0
Лёша
Жаль только, что я не знаю, ка это сделать
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
Офлайн
0
Скормил скрипту текстовый файл, но получается не то что нужно. Проблема в том, выводит случайные строки текста, а не отдельные слова в рандомном порядке
Отредактировано (Апрель 6, 2011 20:59:39)
Офлайн
18
list_word = file_word.split('\n')
замени на
list_word = file_word.split()
Офлайн
0
Спасибо всем ответившим. Как бы теперь сделать, чтобы можно было задавать количество сгенерированных слов, и записывать результат в текстовый файл. И чтобы слова не повторялись. Пожалуйста, помогите
Офлайн
17
Этот код выводит 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()
Офлайн
0
Спасибо agalen! Как раз, то что нужно!
Офлайн