擅长:python、mysql、java
<p>在这种情况下,<code>random.choice</code>可以很好地工作,但是也可以使用一个明显的简单数学转换。如果玩家编号为0到5,且您是玩家X,则:</p>
<pre><code>number = random.choice(0, 4) # first, pick a number: 0, 1, 2, 3, or 4
if number >= X: # then, if it's me or higher...
number += 1 # move forward one player
</code></pre>
<p>请注意,无论你是哪个玩家,这都有效。如果你是5,这会选择一个介于0和4之间的数字,而不是你(因为你是5)。如果您是#0,这将选择一个介于0和4之间的数字,即>;=您(因为您是#0),因此您添加1以给出介于1和5之间的数字。如果你是3,这个选择一个介于0和4之间的数字,如果是3或4,你将它分别增加1到4或5。</p>
<p>编辑补充:这将不允许你做“公平”的交替(每个人都得到一个回合之前,有人得到再次去)。如果需要,可以生成一个列表,使用<code>random.shuffle</code>将其按随机顺序排列,然后从列表(使用<code>.pop()</code>或类似的)中挑选,直到它为空。然后,您可以重新填充和重新洗牌新的(但不同的)“公平”秩序的名单。</p>
<p>(注意,这就是为什么在开始“如何到达那里”之前,先弄清楚你想要什么是很重要的。)</p>