Python - выбор конкретного количества слов из представленного списка
До этого спрашивал как сохранять слова в файл, странные вопросы получаются, но не суть xD
В общем, допустим у меня есть файл words.txt, и в нем есть список различных слов. Мне надо выбрать неопределенное количество рандомных слов из этого списка. Слова записаны следующим образом:
привет
как
дела
это
пример
Их конечно же побольше, но суть думаю ясна. Отсюда надо выбрать неопределенное количество, думаю через random.randint(5, 35). Как это реализовать? С циклами и всем прочим плохо знаком, поэтому даже идей нет.
Ответы (2 шт):
Автор решения: Damien Damie Amfiet
→ Ссылка
Как вариант можно попробовать так:
import random
file = "FILE_PATH"
words = []
random_words = []
num = random.randint(1, 5) # рандомное число
with open(file, "r") as f:
for line in f:
words.append(line) # добавляем свои слова в список
for i in set(random.choices(words, k=num)):
random_words.append(i) # добавляем рандомные слова в список
newString = " ".join([line.rstrip() for line in random_words]
print(newString) # строка для отправки
Автор решения: S. Nick
→ Ссылка
Попробуйте так:
from random import randint
string = """В общем, допустим у меня есть файл
words.txt, и в нем есть список различных слов.
Мне надо выбрать неопределенное количество рандомных
слов из этого списка. Слова записаны следующим образом
"""
_list = string.split()
random_list = [ _list[randint(0, len(_list) -1) ] for _ in range(randint(1, len(_list))) ]
print(random_list)