在pycharm中编辑Python程序 循环、IF语句报错的原因(格式问题)
2017-10-11 11:00
501 查看
在pycharm中编辑程序时候,往往代码正确,但不知道哪里报错,这里以下面一个例子来说明代码格式的规范性在pycharm中的重要性。
题目:编写函数,接受一个正偶数为参数,输出2个素数,且这2个素数之和等于原正偶数,存在多组符合的素数,则全部输出。
结果报错如下所示;
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语句后面的“:”!
如下图所示:
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要注意编写格式问题。细节决定成败!
题目:编写函数,接受一个正偶数为参数,输出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要注意编写格式问题。细节决定成败!
相关文章推荐
- python 列表处理,for循环语句,if条件判断
- 关于python中的if __name__=='__main__'语句问题
- Pycharm上python unittest不执行"if __name__ == '__main__' "问题or选择非unittest run
- python unittest不执行"if __name__ == '__main__' "问题(Pycharm)
- 关于Python操作Mysql数据库时SQL语句的格式问题(mysql语句中的双引号问题)
- 第29个python程序:if语句
- Python IDE: PyCharm程序输出乱码问题(含中文乱码)
- Python之 If条件判断、While循环语句
- Python学习之旅--Lambda表达式在循环语句中需要注意的问题
- python学习2——if语句、elif、if嵌套、while循环、while嵌套
- python的for、while循环和if条件语句
- Python和Ruby循环语句的效率问题
- python_if判断语句,循环语句,三目运算符
- Python While循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为: while 判断条件:
- Python第二篇【if语句、while循环、for循环、代码注释、中文乱码处理】
- Python_猜数字游戏_初次尝试(遗留问题:猜错后程序自动循环执行未实现)---加入循环搞定
- python_3(循环语句、if、switch、for、break、冒泡算法)
- python模块导入问题和if __name__ == '__main__'语句的使用
- 问题:利用 C++的各种控制语句编写一个万年历程序。 要求:显示任何年份的日历,日历以月份顺序排列,每月以星期顺序排列,类似于一 般挂历上的格式。
- python的if语句、while循环、for循环