擅长:python、mysql、java
<p>使用更好的名称会使错误更加明显:</p>
<pre><code>def locker_puzzle(num_lockers):
lockers = [False]*num_lockers
for stud in range(1, num_lockers+1):
for lock in range(stud, num_lockers+1,stud): # you went wrong here
lockers[lock-1] = not lockers[lock-1]
return lockers
def main():
for i,v in enumerate(locker_puzzle(100)):
if v:
print(i+1)
main()
</code></pre>
<p>输出:</p>
^{pr2}$