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