生成不同长度的随机单词

时间:2017-05-02 12:19:56

标签: python python-3.x random

从给定的字符串中,如何生成随机单词,每个单词在python中具有不同的随机长度?这是我到目前为止的代码:

from random import shuffle, randint, choice
f = open("random_words.txt", 'w')
words = input("enter characters: ")
min_len = int(input("enter min lenght: "))
max_len = int(input("enter max lenght: "))
real_max_len = max_len + 1
ran_len = randint(min_len, max_len)
sent_len = int(input("enter amt of words to generate: "))

l_word = list(words)
word_len = randint(min_len, max_len)

for scat in range(sent_len):
    shuffle(l_word)
    sh_word = "".join(l_word)
    for times in range (ran_len):
        ran_word = choice(sh_word + " ")
        f.write(ran_word + "")
    #f.write(sh_word + " ")

f.close()

1 个答案:

答案 0 :(得分:1)

您的问题过于复杂。您可以使用shuffle重新排列字母,然后使用第一个n字母创建一个新单词,其中n是您最小和最大长度之间的随机数。

word_list = list(words)

for scat in range(sent_len):
    shuffle(word_list)
    new_word = ''.join(word_list[:randint(min_len, max_len)])