for i in range(100):
d = random.randint(0,len(field)-2)
if c != d:
break
del field[d]
for i in range(100):
d = random.randint(0,len(field)-2)
if c != d:
del field[d]
break
这两的区别在哪哈
为啥跑出的结果不一样呢
第一块即使c!=d都不成立的情况
,会删除for循环最后 一次随机生成的d位置的元素。如果出现匹配则和第二块效果一样
第二块只有c!=d成立
后才会删除field集合中元素
总的来说:第一块就是不管是否匹配都会删除一个元素,第二块只有匹配后才会删除
for i in range(100):
d = random.randint(0,len(field)-2)
if c != d:
break
del field[d]
如果for结束了,还没有找到,也会执行del field[d]。另外一个只是匹配了才执行
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!