擅长:python、mysql、java
<p>为了尽量减少代码中循环的数量,我可能会首先在字典中弹出随机数。你知道吗</p>
<p>类似这样的事情(可能是更有效的方法…但这是我脑海中突然出现的第一件事):</p>
<pre><code>from collections import Counter
d = Counter(random.sample(range(10), 4))
</code></pre>
<p>启动while循环,并不断让用户猜测。每次他们猜对了,就执行以下操作:</p>
<pre><code>d.pop(correctly_guessed_num)
</code></pre>
<p>一旦你的字典是空的,你就完成了,你打破了循环。你知道吗</p>
<p><strong>编辑</strong>在实现中添加我的快速插入。没有完全考虑清楚,可能是一些边缘案例打破了这一点…但这是总体思路。希望有帮助。你知道吗</p>
<pre><code>from collections import Counter
import random
d = Counter(random.sample(range(1, 10), 4))
size = len(d) - 1
while True:
x = int(input("Guess: "))
if size == 0:
print("you guessed them all, way to go")
break
if x not in d:
print("keep going buddy")
continue
else:
d.pop(x)
size -= 1
print("A right guess")
</code></pre>