随机为变量分配范围内的唯一值

时间:2017-09-26 21:28:11

标签: python python-3.x variables random

我对编码很陌生,但我已经恋爱了。

我正在开展一项雄心勃勃的项目,但我需要一些帮助。

我试图(在Python中)将9个值(1-9)分配给9个变量(字母ai),我不知道如何做到这一点,虽然研究告诉我如何为它们分配随机数在这些价值观之间,我没有设法使它们不重叠(除了纯粹的运气)。

我想要随机生成的示例: a = 7,b = 8,c = 4,d = 6,e = 9,f = 1,g = 2,h = 3,i = 5

2 个答案:

答案 0 :(得分:0)

欢迎来到Python世界!您可以使用range创建一个包含1到9的列表来完成随机变量赋值。使用random.shuffle随机播放该列表。然后做你的变量赋值。以下是一些代码来说明:

import random
one_through_five = list(range(1, 6))
# shuffle one_through_five in place
random.shuffle(one_through_five)
a, b, c, d, e = one_through_five
print(a, b, c, d, e)

答案 1 :(得分:0)

如果您想要使用随机播放路线,可以使用random.shuffle。但是,我建议更好的方法:random.sample

a, b, c, d, e = random.sample(range(1, 6), 5)

如果您坚持使用random.shuffle,则需要确保将range转换为list,因为random.shuffle仅适用于列表,{ {1}}在python3.x中不属于range类型(这解释了您的list; TypeError不存在此限制。

random.sample