在pycharm中编辑Python程序 循环、IF语句报错的原因(格式问题)

      在pycharm中编辑程序时候,往往代码正确,但不知道哪里报错,这里以下面一个例子来说明代码格式的规范性在pycharm中的重要性。

      题目:编写函数,接受一个正偶数为参数,输出2个素数,且这2个素数之和等于原正偶数,存在多组符合的素数,则全部输出。

     

import math
def IsPrime(n):
    m=int (math.sqrt(n))+1
    for i in  range(2,m):
        if n%i==0:
            return  False
        return True

def judge(n):
    if isinstance(n,int) and n>0 and n%2==0:
 for i in range(3, int(n/2)+1):
     if i%2==1 and IsPrime(i) and IsPrime(n-i):
               print(i,'+',n-i,'=',n)

judge(80)


         结果报错如下所示;

  D:\learn\python\python.exe D:/learn/code/MyFirstPython.py
     File "D:/learn/code/MyFirstPython.py", line 11
       for i in range(3, int(n/2)+1):
                                 ^
    IndentationError: unindent does not match any outer indentation level

        Process finished with exit code 1


           修改后将judge函数中for语句移到上面if语句后面即可。这是由于for语句是承接if语句进行处理的,注意if语句后面的“:”!

   如下图所示:

    

import math
def IsPrime(n):
    m=int (math.sqrt(n))+1
    for i in  range(2,m):
        if n%i==0:
            return  False
        return True

def judge(n):
    if isinstance(n,int) and n>0 and n%2==0:
      for i in range(3, int(n/2)+1):
       if i%2==1 and IsPrime(i) and IsPrime(n-i):
               print(i,'+',n-i,'=',n)

judge(80)

 D:\learn\python\python.exe D:/learn/code/MyFirstPython.py
5 + 75 = 80
7 + 73 = 80
9 + 71 = 80
11 + 69 = 80
13 + 67 = 80
15 + 65 = 80
17 + 63 = 80
19 + 61 = 80
21 + 59 = 80
23 + 57 = 80
25 + 55 = 80
27 + 53 = 80
29 + 51 = 80
31 + 49 = 80
33 + 47 = 80
35 + 45 = 80
37 + 43 = 80
39 + 41 = 80

Process finished with exit code 0

    


       这就提示我们,以后用pycharm要注意编写格式问题。细节决定成败!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值