问题:求101到200之间的素数
下图:左右两段程序,只有第6行不同,但我认为共含义是一样的:
实际运行结果分别如下:
两个结果相差很远。请问:这是为什么,我右边的程序错在哪里?
先谢了!
因为这样你删除了x中的数据,for i in x时就改变x,并不能循环x中所有元素
例如:
x = [1,2,3,4]
for i in x:
print(i)
x.remove(i)
x = list(range(101,201))
for i in x:
print(i,x)
x.remove(i)
一个简单的测试,你会发现,所有的偶数都在x中保留了,你在遍历x的时候,针对x的元素进行了删除操作,造成元素指针前移,被隔过去了
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m