我正在尝试一个问题,它要求我定义一个func(),它从2-8 (包括2-8)生成4个唯一的随机整数。到目前为止,我已经做好了所有的工作,除了我不能确定是否有可能确保下一个随机生成的整数不是给定范围(2-8)的重复
到目前为止的代码:
def get_unique_code():
code_str = ""
while len(code_str) != 4:
x = str(random.randint(2,8))
code_str += x
return code_str预期输出: 6842
Got: 6846
发布于 2021-04-24 08:51:54
您可以生成一个随机数列表,映射到字符串并将它们连接在一起。不要忘记将+1加到您的上限上,使其包含在内。
import random
def get_unique_code():
return ''.join(map(str, random.sample(range(2, 8 + 1), 4)))
print(get_unique_code())请参见:
发布于 2021-04-24 08:50:23
我们可以检查字符是否已经在字符串中:
def get_unique_code():
code_str = ""
while len(code_str) != 4:
cont = False
while not cont:
x = str(random.randint(2,8))
if x not in code_str:
cont=True
code_str += x
return code_strhttps://stackoverflow.com/questions/67238344
复制相似问题