擅长:python、mysql、java
<p>在列表中使用<code>random.choice</code>,但首先要从列表中删除该特定数字:</p>
<pre><code>>>> import random
>>> n = 3
>>> end = 5
>>> r = range(1,n) + range(n+1, end)
>>> r
[1, 2, 4]
>>> random.choice(r)
2
>>> random.choice(r)
4
</code></pre>
<p>或者定义一个函数:</p>
<pre><code>def func(n, end, start = 1):
return range(start, n) + range(n+1, end)
...
>>> r = func(3, 5)
>>> r
[1, 2, 4]
>>> random.choice(r)
2
</code></pre>
<p><strong>更新:</strong></p>
<p>这将返回列表中除特定数字以外的所有数字:</p>
<pre><code>>>> r = range(5)
for player in r:
others = range(0, player) + range(player+1, 5)
print player,'-->', others
...
0 --> [1, 2, 3, 4]
1 --> [0, 2, 3, 4]
2 --> [0, 1, 3, 4]
3 --> [0, 1, 2, 4]
4 --> [0, 1, 2, 3]
</code></pre>