Python新手在PyCharm写if总报错?5个坑90%人踩过,看完修复
前言写Python的if语句时新手常踩5个坑忘写冒号、缩进不对、用了中文标点、条件写反了、变量没定义。PyCharm报错变红别慌看懂提示就能改。本文手把手教你识别这些错误让你告别代码一运行就崩溃的绝望if 语句的概述if语句是代码的分岔路口条件成立就执行不成立就走else。它让代码会思考是实现登录验证、库存提醒等功能的基础也是从简单脚本到复杂程序的必经之路。准备工作在Pycharm中创建 Python 文件打开 PyCharm 后你会看到如下图所示的启动界面。这时候你有两种选择来创建 Python 文件。第一种方式先新建项目Project然后在项目里新建 .py 文件并命名。第二种方式在已有项目中直接新建 .py 文件并命名。如果你不会创建.py文件请阅读如下文章。如何使用PyCharm0基础新手必看七大核心功能越用越有意思这两种方式有什么区别吗先建项目 搭完整仓库有独立环境适合正经开发或系统学习。直接加文件 随手记笔记适合快速测试代码。给.py文件和项目文件夹起名时要见名知义如python爬虫别叫aaa方便后期查找。接下来我带大家熟悉一下 PyCharm 的使用界面。具体的功能区域介绍请参考下面这两张示意图我在图中讲解每个区域的作用。if 语句入门语法讲解if条件表达式:# 条件为真时执行的代码语句块Python中if语句格式if 条件:后接缩进代码。条件为真则执行为假则跳过。冒号不可少缩进区分代码块是Python特有语法。例子判断手机电量是否充足我用一个超简单的例子带你看懂你也可以跟着敲一遍。battery50#先定义变量把值50赋给定义好的变量为了表示当前手机电量ifbattery0:#然后判断定义后的变量的值是否大于0即判断手机电量是否大于0print(手机电量充足。)#如果满足定义好的变量的值大于0的条件即满足手机电量大于0那么就显示手机电量充足。运行结果如下图所示。把battery改为0时条件不成立如下图所示代码跳过无输出。避坑指南新手必看先定义变量且给变量赋值if小写条件后加冒号语句缩进相等用。条件二选一if 与 else语法讲解想象你在玩一个二选一的游戏如果满足某个条件就做A事否则就做B事。Python里的if和else就是这个逻辑。基本结构长这样if条件:执行这里条件为真时else:执行这里条件为假时什么是布尔值 就是真或假True真或False假。比如age 18这个判断结果要么是真成年了要么是假未成年。下面我举例子来讲解if-else你也可以跟这敲一下代码并试着运行。例子今天要不要带伞# 定义一个变量存储天气情况变量类型为字符串weather下雨# 判断weather是否是下雨 表示等于用来比较两个值是否相同ifweather下雨:print(记得带伞出门)# 如果条件成立为真执行这行代码前面有4个空格缩进else:print(今天不用带伞。)# 如果条件不成立为假执行这行代码运行结果如下图所示。试试把 weather “晴天”看看会打印哪句话改变量看效果 把weather 下雨改成weather “晴天”如下图所示程序就会跳过if下面的代码直接去执行else下面的print(“今天不用带伞。”)。避坑指南新手必看忘记冒号if和else行尾必须有英文冒号:写成分号;或中文冒号都会报错。缩进错误这是新手最常犯的错print前面一定要有空格按一下Tab键或4个空格不能顶格写也不能和if对齐。else单独写else前面必须有对应的if不能孤零零自己存在。混淆和 是用来给变量赋值的如age20是用来判断是否相等的如age 20判断条件时用错程序会出bug。条件表达式除了比较数字还能判断字符串、布尔值等只要结果是True或False都行。记住if是入口else是备胎缩进是生命线多分支判断if-elif-else语法讲解Python条件判断让程序看情况办事。if意思是如果条件成立就执行代码。elif是否则如果前面不满足时判断新条件。else是否则前面都不满足时执行。Python用缩进4个空格区分代码块。if-elif-else的基本结构如下。if条件表达式:# 条件为真时执行的代码语句块elif条件表达式:#上述条件不满足这个条件却满足执行的代码语句块else:#上述所有条件都不满足的代码语句块下面我通过例子来讲解if-elif-else你可以手敲代码并试着运行。案例学生成绩评级my_score85# 定义变量来存储分数ifmy_score90:# 判断≥9085不满足print(你的成绩优秀)# 跳过elifmy_score80:# 判断≥80满足print(你的成绩良好)# 执行这行elifmy_score60:# 已经满足跳过print(你的成绩及格)else:# 已经满足跳过print(你的成绩不及格)流程85分问够90不够→够80“够了→打印良好”后面停止。运行结果如下图所示。避坑指南新手必看必须缩进。判断用不是。elif不能写成else if。小范围条件放前面。别忘了冒号:。避坑指南if 语句 5 大常见错误遗漏末尾的冒号 :如下图所示未在if 条件表达式后面加冒号会出现SyntaxError错误。应该在if 条件表达式后面加冒号如下图所示。这一点新手写代码着急时容易忘。新手应该在if 条件表达式写完后检查冒号是否加了。IndentationError: 缩进错误如下图所示在if 条件表达式下面执行的语句的前面没有缩进直接报IndentationError错误。Python 靠缩进区分代码块。这一点新手容易忽略怎么办没事等打完if语句代码后用快捷键Ctrl Alt L自动格式化代码。中英文标点混用如下图所示if 条件表达式后面的冒号是中文标点符号不是英文标点符号就报SystaxError错误。这是新手打代码时常犯的错误。怎么预防呢等分别打完if 条件表达式和冒号后检查冒号下面是否有红波浪线如果有那么红波浪线就是中文标点符号否则就是英文标点符号。条件判断逻辑颠倒如下图所示if后面的条件表达式逻辑混乱所以没有输出结果。把if后面的条件表达式的逻辑校正后如下图所示。新手打代码时急于验证功能没有检查意识所以就把if后面的条件表达式的逻辑颠倒了。这怎么避免呢我就是在打完if 条件表达式后检查一下条件表达式的逻辑或者大声朗读if 条件表达式的代码这样就不会出现条件表达式逻辑颠倒的问题了。新手可以用我的方法试试。变量未声明就调用如下图所示没有定义变量就进行if条件判断会出现NameError错误。在if语句前加上定义变量的语句运行后如下图所示。新手打代码时想到哪打哪没有顺序思维所以就容易犯变量未定义就进行判断的错误。这怎么杜绝呢新手打代码前应该先构思如何先声明后使用的顺序编打代码然后检查一下代码是否按先声明后使用的顺序打。或者新手先写完所有的变量声明再写逻辑。总结本章详解if、if-else、if-else-elif语法盘点新手写if语句5大易错点缩进错误、变量未定义、遗漏冒号、中英文标点混用、条件逻辑颠倒附避坑指南。建议新手多敲多练熟能生巧。相关阅读如果你对库存管理和开发库存管理系统感兴趣那么请阅读以下文章。Python新手库管IF语法实战终结金额出库库存3错专栏下篇剧透在PyCharm写Python字典新手必避7大坑专栏下篇预告《在PyCharm写Python字典新手必避7大坑》。如果你觉得本文有用那么请你动一动你宝贵的手指进行点赞、收藏、关注。我将持续更新PyCharm实战内容Python基础语法痛点突破的干货带你少走弯路。如果你有疑问那么欢迎你在评论区留言。