擅长:python、mysql、java
<p><a href="https://stackoverflow.com/questions/3913217/what-are-python-namespaces-all-about">What are Python namespaces all about</a>
这个问题问的是名称空间,这基本上就是你遇到的问题。在lottodraw1中,您只更改draw1的本地版本,因此draw1的全局值保持不变(在您的示例中为0)。因此,您将始终在其他任何地方使用<code>draw1 = None</code>。</p>
<p>我的方法是制作一个绘图数组,并有一个通用的绘图函数:</p>
<pre><code>draws = []
def draw():
new_draw = random.randint(1,49)
if new_draw not in draws:
draws.append(new_draw)
else:
draw()
draw()
draw()
print(draws)
</code></pre>
<p>现在你只需调用draw,它将添加一个新绘制的不存在的数字。</p>
<p>正如Jean François Fabre指出的,更好的版本是使用集合,它更快,但只允许唯一值:</p>
^{pr2}$