python这个问题搞好久还是不明白😭

这个if死活不跑,为什么啊😭
,搞半天self.nums[]都是空值,明明输出都可以正常输出,

img

删除17,18行

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7798848
  • 你也可以参考下这篇文章:Python正则表达式分组\num的理解
  • 除此之外, 这篇博客: python中的列表生成式中的 4. 列表生成式练习2:用列表生成式生成一个列表,包含1到num的所有质数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整
    数,并输出结果。输
    入值小于1000。
    如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别
    为(5,5),(3,7))
    #[2,3,5,7]

    num = int(input())  #传入num
    
    def isPrime(num):   #定义判断质数的函数
        for i in range(2,num):
            if num % i == 0:
                return False
        else:
            return True
    
    primeli = [i for i in range(2,num) if isPrime(i)] #拿到2到num的所有质数
    print(primeli)
    
    """
    1.先拿出两个数
    2.判断两个数之和是否等于num
    """
    count = 0  #定义两质数之和为num的计数器为0
    
    for item1 in primeli:
        if (num - item1) in primeli and item1 <= num - item1:  #这里要去掉重复的
            count += 1  #发现符合要求,计数器加1
    
    print(count)
    

    在这里插入图片描述
    在这里插入图片描述