gpt4 book ai didi

python - 在一行中打印随机数量的字符随机次数

转载 作者:太空宇宙 更新时间:2023-11-04 07:45:48 24 4
gpt4 key购买 nike

假设我们只有一根线可以使用。我们有字符串“fo0”,我们想随机打印每个字符的次数,然后再随机重做整个语句;结果如下:

ffooooo000 ffffffoo00 fffo00000000

如何使用 for 循环或类似的东西来做到这一点?

据我所知:

import random; x = "fo0"; print "".join(x for i in range(0,random.randrange(0,40)))

所有这些结果都类似于“fo0fo0fo0fo0fo0fo0”。

最佳答案

您可以使用类似下面的内容。下面,s是输入的字符串,char_rand_max是一个单词中单个字符的最大重复次数,str_rand_max是最大值产生一个词的次数。每个字符至少出现一次,并且至少有一个词。

import random

def rand_print(s, char_rand_max, str_rand_max):
for i in range(random.randint(1, str_rand_max)):
print ''.join([c*random.randint(1, char_rand_max) for c in s]),
print

例子:

>>> s = 'fo0'
>>> rand_print(s, 5, 5)
fffoooo0000

>>> rand_print(s, 5, 5)
fo000 fffffooo00000 ffooo00000 fffooo00 fffo0

>>> rand_print(s, 5, 5)
ffffo00 fffffooo00000 fffffo00000

在线解决方案

当然,如果需要,您可以在一行中完成所有这些操作。您可以执行以下操作,而不是将上面的函数压缩到一行中:

from random import randint as ri; x = 'fo0'; \
print ' '.join([''.join([c*ri(1, 5) for c in x]) for i in range(ri(1, 5))])

请注意,我添加了换行符以使其在答案中更具可读性。此外,与上述解决方案不同的是,字符重复和单词的最大数量被硬编码为 5。

关于python - 在一行中打印随机数量的字符随机次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com