擅长:python、mysql、java
<p>您可以使用以下方法:</p>
<ol>
<li>构建一个生成器函数,以便在<code>for</code>循环中每次调用它时都获得一个新的随机生日</li>
</ol>
<pre class="lang-py prettyprint-override"><code>def get_birthdays():
birthday = random.randint(1, 365)
yield birthday
</code></pre>
<ol start=“2”>
<li>之后,您可以使用递归方法重新编写<code>findSameBDay()</code>。对于<code>get_birthdays</code>(生成器)生成的每个数字,您将把它保存在<code>birthdays</code>函数参数中。当局部变量<code>birthday</code>位于生成器填充的列表中时,将出现停止条件</李>
</ol>
<pre class="lang-py prettyprint-override"><code>def findSameBDay(birthdays=[]):
birthday = random.randint(1, 365)
for generator_birthday in get_birthdays():
birthdays.append(generator_birthday)
if birthday in birthdays:
break
else:
findSameBDay(birthdays)
return len(birthdays)
# We call the function
findSameBDay()
</code></pre>