Python随机模块中的randint(a,b)函数返回a到b范围内的“随机”整数,包括两个终点。填写下面函数中的空白,该空白创建并返回0和1的长度为n的随机字符串。
from random import randint:
def randString01(n):
_________________
_________________
for count in range(n):
__________________
return________________
(编辑:导入语句末尾的:
不属于;但是,如原始问题中所示。)
...到目前为止,我发现如何将n转换为n长度的字符串(所以n n的字符串)我想知道randint适用于哪里? 到目前为止我已经
了from random import randint
def randString01(num):
x = str()
count = num
while count >0:
if randint(0,1) == 0:
append.x(0)
else:
append.x(1)
count -= 1
x=str(x)
return x
但它不起作用。我该怎么办?
答案 0 :(得分:5)
由于这是作业,我不会给你答案,但这里有一些主要的问题:
randint(a,b)
给你0或1?如果你能回答这些问题,你就解决了这个问题。
答案 1 :(得分:2)
在for循环中。
答案 2 :(得分:1)
因为它显然是类作品,所以这里有一些伪代码:
define randString01(num):
set str to ""
count = num
while count is greater than zero:
if randint(0,1) is zero:
append "0" to str
else:
append "1" to str
subtract one from count
return str
顺便说一下,n
出现的n
字符from random import randint
def randString01(num):
x = str() ## <-- ???
count = num
while count > 0:
if randint(0,1) == 0:
append.x(0) ## <-- ???
else:
append.x(1) ## <-- ???
count -= 1
x = str(x) ## <-- ???
return x
字符串对此无济于事。它将为您提供零大小的“0”字符串或一个大小的“1”字符串。换句话说,所有的。
好的,你评论中的内容似乎没问题(至少在结构上):
str()
但我对你的append()
和from random import randint
def randString01(num):
x = ""
count = num
while count > 0:
if randint(0,1) == 0:
x = x + "0"
else:
x = x + "1"
count -= 1
return x
print randString01(7) ## And add these to call the function.
print randString01(7)
print randString01(9)
print randString01(9)
行有点不确定。既然你已经完成了大部分工作,那么这是我在Python下实现这一目标的一些小改动:
1011000
1010011
110001000
110101001
输出:
{{1}}
答案 3 :(得分:0)
如果您不必使用上面的确切语法,可以使用1行代码完成。
概念:
string.join采用可迭代的方式 您可以通过将for循环内联到列表解析
来创建可迭代的随机字符串结果代码如下。
''.join([str(random.randint(0,1)) for i in range(n)])