Как я могу выбрать случайное слово из списка в al oop? - PullRequest
0 голосов
/ 05 февраля 2020

Здравствуйте, я учусь python, и мой вопрос в том, что у меня есть несколько слов в списке. Я хочу произвольно выбрать слово, используя al oop. Каждый раз, когда я запускаю этот код ниже, он возвращает только случайные одиночные буквы, такие как «ynd»

import random
import time

randomwords = ["my", "random", "words"]

for x in randomwords:
    time.sleep(1)
    print(random.choice(x))

, как я могу сделать так, чтобы код возвращал случайный порядок слов, таких как «words» «my» «random»

Ответы [ 2 ]

2 голосов
/ 05 февраля 2020

random.choice(x) будет выбирать из x, а x - это отдельное слово из randomwords.

Если вы хотите выбрать из randomwords, сделайте это:

for x in randomwords:
    time.sleep(1)
    print(random.choice(randomwords))
1 голос
/ 05 февраля 2020

Вы можете использовать random.shuffle для этого:

import random
import time

randomwords = ["my", "random", "words"]

for choice in random.shuffle(randomwords):
    time.sleep(1)
    print(choice)

Причина, по которой ваш исходный код не работает так, как вы хотели, заключается в том, что x будет назначено каждому из элементов списка в очереди. Таким образом, в первом цикле x = "my", а затем вы печатаете случайный символ из этой строки с random.choice(x), что приведет к m или y.

...