Python 生成包含随机数目的字母和空格的随机字符串
我编写了一个函数,返回长度为Python 生成包含随机数目的字母和空格的随机字符串,python,Python,我编写了一个函数,返回长度为n的随机字符串 import string, random def randomString(N): return ''.join(random.sample(string.ascii_lowercase + ' ', N)) 但是,这只会返回每个字母/空格中有一个的字符串。我需要一个随机数的小写字母和空格(字符可以重复)字符串 我尝试向.join方法添加另一个参数,但它返回语法错误 如何更改此函数以生成随机数的字母和空格?您可以通过使用random,通过简
n
的随机字符串
import string, random
def randomString(N):
return ''.join(random.sample(string.ascii_lowercase + ' ', N))
但是,这只会返回每个字母/空格中有一个的字符串。我需要一个随机数的小写字母和空格(字符可以重复)字符串
我尝试向.join方法添加另一个参数,但它返回语法错误
如何更改此函数以生成随机数的字母和空格?您可以通过使用
random,通过简单的循环轻松完成此操作。选择而不是random。采样一次完成所有操作:
>>> import string, random
>>> def random_string(n):
... count = 0
... s = ''
... while count < n:
... s += random.choice(string.ascii_lowercase + ' ')
... count += 1
... return s
...
>>> random_string(27)
'amwq frutj nq dbotgllrbmhnj'
>>> random_string(27)
'khjnmhvgzycqm vyjqcttybuqm '
>>> random_string(27)
'ssakcpeesfe kton gigblmgo o'
>导入字符串,随机
>>>def随机_字符串(n):
... 计数=0
... s=“”
... 当计数>>随机字符串(27)
“amwq frutj nq dbotgllrbmhnj”
>>>随机字符串(27)
“khjnmhvgzycqm vyjqcttybuqm”
>>>随机字符串(27)
“SsakPeesfe kton gigblmgo”
您正在寻找的
然后
与空格数一样,您可以调整每个字符出现的次数以改变其相对概率:
chars = (
' !,,,,,--....'
'.....:;aaaaaaaaaaaaaaaaaaaaabbbbbcccccccccdddddddddeeeeeeeee'
'eeeeeeeeeeeeeeeeeeeefffffggggghhhhhhhhhiiiiiiiiiiiiiiiiiiijj'
'klllllllllmmmmmmnnnnnnnnnnnnnnnnnnooooooooooooooooppppppwrrr'
'rrrrrrrrrrrrrssssssssssssssssttttttttttttttttttttuuuuuuuvvvw'
'wwxyyyyz'
)
for _ in range(5):
print(random_string(30))
给予
所以你的问题是什么?不,不,你绝对不应该在得到答案后继续更新你的问题。所以它不是为你做作业而设计的。如果你不更新你的问题,我们会更喜欢。如果你有新问题,可以问一个新问题。此外,虽然预演很可爱,但基本上是无关紧要的。您的问题应该是这样的:“如何生成由27个ascii小写字母加空格组成的随机字符串?”
这就是您真正要问的问题。这是您应该问的问题。“其他的一切要么是无关的,要么是一个或多个未来问题的一部分。”两位炼金术士我同意。一些背景是好的,但这太过分了。现在清楚多了。
from random import choice
from string import ascii_lowercase
# vary the number of spaces appended to adjust the probability
chars = ascii_lowercase + " " * 10
def random_string(n):
return "".join(choice(chars) for _ in range(n))
>>> print(random_string(15))
fhr qhay nuf u
chars = (
' !,,,,,--....'
'.....:;aaaaaaaaaaaaaaaaaaaaabbbbbcccccccccdddddddddeeeeeeeee'
'eeeeeeeeeeeeeeeeeeeefffffggggghhhhhhhhhiiiiiiiiiiiiiiiiiiijj'
'klllllllllmmmmmmnnnnnnnnnnnnnnnnnnooooooooooooooooppppppwrrr'
'rrrrrrrrrrrrrssssssssssssssssttttttttttttttttttttuuuuuuuvvvw'
'wwxyyyyz'
)
for _ in range(5):
print(random_string(30))
sxh ehredi clo-ioodmttlpoir.wo
ijr thc -o,iepe.pcicfrn.osui.a
et rtl teektet rrecyd.d .bate
aji ueava hahe arv tgnrnt eecs
a ne:tudsdu,nlnhbeirp,oioitt e