我必须在机器人框架中生成唯一的随机数。我使用了"生成随机字符串"得到随机数。命令:
${random} Generate Random String 1 [NUMBERS])
我在for循环中给出了上述语句。现在我能够得到' n'随机数。但它们并不是唯一的。我如何使它们独一无二?
我的情况究竟是什么:我想要四个独特的随机数,范围从1到10.我试图在for循环中给出生成随机数命令,在第二个循环中我试图将它与第一个随机值进行比较,所以上。但这不起作用。
是否有任何简单的逻辑可以获得1到10之间的4个唯一随机数?
提前致谢。
答案 0 :(得分:6)
我认为随机模块sample功能是最优雅的解决方案。这里从1到10中包含4个数字中的4个:
${numbers}= Evaluate random.sample(range(1, 11), 4) random
返回int的列表。如果你想要数字的字符串表示......
${numbers}= Evaluate random.sample([unicode(x) for x in range(1, 11)], 4) random
答案 1 :(得分:0)
Generate 4 Random And Unique Numbers
${numbers} Create List 1 2 3 4 5
... 6 7 8 9 10
${random index} Generate Random String 1 0123456789
${random number 1} Set Variable @{numbers}[${random index}]
Remove From List ${numbers} ${random index}
${random index} Generate Random String 1 012345678
${random number 2} Set Variable @{numbers}[${random index}]
Remove From List ${numbers} ${random index}
${random index} Generate Random String 1 01234567
${random number 3} Set Variable @{numbers}[${random index}]
Remove From List ${numbers} ${random index}
${random index} Generate Random String 1 0123456
${random number 4} Set Variable @{numbers}[${random index}]
Remove From List ${numbers} ${random index}
${random numbers} Create List ${random number 1} ${random number 2} ${random number 3} ${random number 4}
[Return] ${random numbers}
或使用python
import random
def generate_4_random_and_unique_numbers():
pool = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random_numbers = []
for index in range (0, 4):
index = random.randint(0, len(pool)-1)
random_numbers.append(pool[index])
del pool[index]
return random_numbers
通常,创建可能的数字列表。从该列表中随机选择号码,然后从列表中删除该号码。根据需要重复多次。
答案 2 :(得分:0)
我认为您应该尝试以下代码。它将为您提供一个来自“ 0123456789”的4位唯一随机数
库字符串
${PO_Number} Generate random string 4 0123456789
我希望它对我有用。
关于, 阿文·库玛(Arvind Kumar)
答案 3 :(得分:0)
我添加了这两行,效果很好:
*测试用例*
Generate XYZ Random number
${rand_XYZ}= generate random string 9 [NUMBERS]
log to console ${rand_XYZ}
答案 4 :(得分:-1)
为了获得1到10的4个随机数: $ {Random Numbers} =评估random.sample(范围(1,10),4)随机
语法: $ {随机数} =评估random.sample(范围(指定数字范围),(要生成的随机数))随机