擅长:python、mysql、java
<p>下面是脚本的一个简单的迭代变体。效果很好。在</p>
<p>作为一个假设,我认为,根据概率论,有时你只是调用匹配函数太多次,所以它导致程序达到递归极限</p>
<pre><code>import random
family = {'Joe': 'm', 'Jane': 'f', 'John': 'm', 'Jill': 'f', 'James': 'm', 'Jade': 'f'}
receivers = family.copy()
givers = family.copy()
def match(giver):
giverGender = givers[giver]
Found = False
while not Found:
index = random.randrange(len(receivers))
receiver = receivers.keys()[index]
receiverGender = receivers.values()[index]
if giver != receiver and giverGender == receiverGender:
Found = True
del receivers[receiver]
return giver + ' to ' + receiver
# main program
if __name__=='__main__':
for i in givers:
print match(i)
</code></pre>