从给定的字符串中,如何生成随机单词,每个单词在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()
答案 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)])