elements = ['why','where','what','who','when','how']
for x in range(5):
length=(random.randint(1,5))
whatever=""
for y in range(1,length):
whatever += elements[random.randint(0,5)]
print whatever
我正在尝试使用上面的代码来打印并将列表中的元素组合成包含1到4个音节的随机字符串。现在它一次打印一个音节,然后将它们连接在一起。在字符串达到4个音节后,它会重新启动并再次执行该过程。
这就是它打印的内容:
why
whywhen
whywhenwhere
how
howwhy
howwhywhy
what
whatwhen
whatwhenhow
whatwhenhowwhen
答案 0 :(得分:0)
试试这个。
elements = ['why','where','what','who','when','how']
for x in range(5):
length=random.randint(1,5)
whatever=""
for y in range(length):
whatever += elements[random.randint(0,5)]
print whatever
范围不包括最后一个元素,因此for y in range(1, length)
将为您提供长度为1的迭代,而range(length)
将为您提供0到长度为1的总共length
次迭代。
并且您的print语句需要在循环之外,因此只有在whatever
完全构建到length
音节时才打印。