python写由1,2,3,4不重复组成的素数 哪里错了啊 一直找不出来

s=len(num)
# 删除list中的元素后,list的实际长度变小了,但是循环次数没有减少,依然按照原来list的长度进行遍历,会造成索引溢出。
# 所以删除操作时要倒序循环
for a in range(s-1,-1,-1):
    # b是从2到num[a]值减一
    for b in range(2,num[a]):
        # 余数等于0表示能整除。不是素数
        if num[a]%b==0:
            del num[a]
            break
print(num)

 

b的循环范围应该是2到num[a],

条件应该是 如果num[a]与任何一个b能整除就要删除,说明不是素数。

if num[a] % b == 0:

        del num[a]

      

请采纳一下,谢谢!

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632