Rac*_*oon 3 python random algorithm
我知道如何从例如7到14获取随机数,但也可以以某种方式获得从7到14的随机数,除了之前写的列表中的一些数字?
例:
Forbidden = [12, 13, 8, 7]
a = randint(7, 14)
Run Code Online (Sandbox Code Playgroud)
a应该是随机数,而不是写入的数字Forbidden.
编辑:感谢您的建议,使用while循环或.choice实际上解决了我的问题.但最终@ user2357112是正确的,显然黑名单的想法是一个初学者陷阱,改组甲板解决了我的问题.
你知道一个真正的纸牌游戏如何阻止你绘制已经绘制的牌吗?它不涉及抽取卡的黑名单.有一个甲板,你洗了它.
在你的程序中做同样的事情.不是试图维持一张抽出的黑名单,而是在程序开始时洗牌,并从牌组中抽出牌:
import random
deck = some_list
random.shuffle(deck)
# when you want to draw a card
card = deck.pop()
Run Code Online (Sandbox Code Playgroud)