使用以下代码时:
import random
sticks = 100
randomstep = random.randint(1, 6)
expertmarbles = random.randrange(1, sticks, 2**randomstep)
输出产生除步骤之外的所有内容,因此例如我希望从这些数字输出随机数:2,4,8,16,32,64。但它会输出除了这些数字之外的所有内容任何人都可以提供任何建议,我在这里使用变量的原因是因为棒的数量会减少。
答案 0 :(得分:3)
您可以使用random.randrange
(docs)代替使用random.choice
:
import random
min_power = 1
max_power = 6
print(random.choice([2**i for i in range(min_power, max_power + 1)]))
答案 1 :(得分:2)
你可以试试这个
def myRand(pow_min,pow_max):
return 2**random.randint(pow_min,pow_max)
我建议您使用此而不是random.choice
,这需要您生成一个列表,这是不必要的。