IndentationError 语法错误(的子类) ;代码没有正确对齐 IndexError 下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5] KeyError 试图访问字典里不存在的键...Python 语法错误 IndentationError 缩进错误 TabError Tab 和空格混用 SystemError 一般的解释器系统错误 TypeError...对类型无效的操作 ValueError 传入无效的参数 UnicodeError Unicode 相关的错误 UnicodeDecodeError Unicode 解码时的错误 UnicodeEncodeError...num1=input('>>: ') #输入一个字符串试试 if num1.isdigit(): int(num1) #我们的正统程序放到了这里,其余的都属于异常处理范畴 elif num1.isspace...问题一: 使用if的方式我们只为第一段代码加上了异常处理,针对第二段代码,你得重新写一堆if,elif等 而这些if,跟你的代码逻辑并无关系,可读性差 问题二: 第一段代码和第二段代码实际上是同一种异常
语法错误又称解析错误,是我们在刚接触学习Python 时最容易遇到的错误,区区别于异常而言,语法错误非程序执行时的逻辑错误; 即使语句或表达式在语法上是正确的,但在尝试执行时,它仍可能会引发错误,而这个在执行时检测到的逻辑错误被称为异常...1.语法错误 语句本身的语法存在问题,常见的有循环语句后面少了冒号、用了中文的标点符号、字符串赋值时引号少一个等等,属于非逻辑错误。...解析器会输出出现语法错误的那一行,并显示一个“箭头”,指向这行里面检测到的第一个错误。...,我们使用 Control+C 或 Delete时,就会出现中断程序的提示,我常常在程序执行过程中想复制部分打印信息的时候错使用 Control+C想着复制却使得程序中断的情况。...遇到报错不要慌,对于新手来说,常见的就是先检查基础语法对不对、标识符是不是用了中文,变量名的拼写是不是错了,变量名是不是没定义就调用了,缩进是不是没整对,函数方法是不是用错了,想引入的库是不是没有安装等等
使用嵌套需要以不同的缩进长度划分代码结构的层次,因此嵌套时要特别注意缩进的规范性。 嵌套选择结构具有很广的应用场景,以下给出一个例子。...异常是程序在正常流程控制以外采取的动作,当它被引发时,计算机将自动寻找异常处理程序,以帮助程序恢复正常运行。 要保证程序的正常运行,就需要排除错误,错误要么是语法上的,要么是逻辑上的。...语法错误的出现表明程序在结构上出现了问题,可以在程序执行前加以纠正。逻辑错误可能是缺少输入或输入不正确,某些情况下,也可能是根据输入无法生成预期的结果。逻辑错误难以预防,必须使用异常处理程序来应对。...RuntimeError:一般的运行时异常 NotImplementedError:尚未实现的方法 SyntaxError:语法错误导致的异常 IndentationError:缩进错误导致的异常...但要注意,else语句的存在必须以except语句的存在为前提,在没有except语句的try语句中使用else语句,会引发语法错误。
异常就是运行期检测到的错误。计算机语言针对可能出现的错误定义了异常类型,某种错误引发对应的异常时,异常处理程序将被启动,从而恢复程序的正常运行。 1....:尚未实现的方法 SyntaxError:语法错误导致的异常 IndentationError:缩进错误导致的异常 TabError:Tab和空格混用 SystemError:一般的解释器系统异常 TypeError...:不同类型间的无效操作 ValueError:传入无效的参数 UnicodeError:Unicode相关的异常 UnicodeDecodeError:Unicode解码时的异常 UnicodeEncodeError...') finally: print('我是必须执行的') 5. raise语句 概念 Python 使用raise语句抛出一个指定的异常。...在用户每次猜测之前程序会输出用户是第几次猜测,如果用户输入的根本不是一个数字,程序会告诉用户"输入无效"。
在 Python 中,条件语句使用 if、elif 和 else 关键字来实现。本篇博客将详细介绍 Python 中条件语句的语法格式、缩进和代码块,以及空语句 pass 的使用方法。...是否为True,为True的话则执行 if 下缩进的代码块,为False时则执行else下的语句。...下面的: print("俺不执行") 这行代码因为没有缩进,所以它可不是任何一个条件语句的语句块哦。无论 if 语句的条件是否成立,这条语句都会运行。...= 1: else: print("hello") 当我们想通过以上代码来实现当 a 不等于 1 的时候不执行任何语句,等于 1 时执行else的代码块。...有时候在编写代码时,为了保持代码结构完整,可能需要暂时不写任何代码,这时可以使用 pass 来占位,避免出现语法错误。
Python指示的这个错误告诉我们程序的语法是无效的,即程序没有正确地编写。它告诉你, 你不能随意地开始新的语句块 (当然除了你一直在使用的主块)。...我 强烈建议 你在每个缩进层次使用 单个制表符 或 两个或四个空格 。 选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即 只 使用这一种风格。...这并没有什么不好的,在绝大多数情况下,缩进比{}更清楚。 但是Py的缩进也不是无往不利的。个人感觉有两个地方不方便。 第一,粘贴代码的时候修改缩进不方便。但好在我有vi。...其他每一行都是一个语句,当语句以冒号:结尾时,缩进的语句视为代码块。 缩进有利有弊。好处是强迫你写出格式化的代码,但没有规定缩进是几个空格还是Tab。...我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。 先看C语言的表达方式(注意,这是C,不是Python!)
错误提示,有时候并不能提供有效信息,尤其是编程新手,常常会犯一些低级错误,比如缩进不对,引号缺失,括号不全等,下面是新手常犯的一些代码错误,希望对刚入门的同学有一点帮助。...错误提示: SyntaxError: invalid syntax #语法错误:无效语法 2.缩进不正确 对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始...错误提示: IndentationError: expected an indented block #缩进错误:需要缩进的块 3.符号是中文 比如冒号、括号是中文符号等。 ? ?...错误提示: SyntaxError: invalid character in identifier #标识符中存在无效字符 4.数据类型错误 常见的比如:input输入直接进行数字运算,不同类型的数据进行拼接等...代码检查清单 下面是一个简单的代码检查清单,希望对编程新手有一点帮助,仅做借鉴,你也可以总结自己的编程易错点。 ?
织女因为厌烦了每天织布的枯燥生活,选择下到凡间。 在我们的生活中,也经常要做大大小小的各种决策。影响我们做出决策的因素有很多,一般是当某些条件满足时,我们会做出决策 A;条件不满足时,做出决策 B。...计算机的执行过程也是类似的,计算机不一定都是从上到下逐条执行指令,有些时候计算机也会对一些条件进行评估,当评估结果为 True 时(满足某些条件),执行某个代码块;当评估结果为 False 时(不满足某些条件...: (1)不要忘记 if 语句后面的冒号:,如果不带冒号会报语法错误。...(2)Python 语言通过缩进来标识代码块,在上述例子中,print(“BMI=”, BMI) 和 print(“织女体重过重”) 属于同一个代码块,当 if 语句的条件成立时,print(“BMI=...我们主要介绍了流程控制 if 语句、if…else 语句、if…elif…else 语句以及嵌套if语句的用法,在使用这些语句的过程中,我们一定要注意冒号和缩进是不能忘的哦!
为什么我要写这篇呢,之前有很多小伙伴在运行代码时遇到了各种各样的问题,甚至有这样的一句话,编程一小时,找错一整天,所以小卡今天就整理了一下日常常见的几种报错类型,come~ 首先我们来说一下错误和异常,...什么是异常呢,异常就是程序运行时,某一句引发错误导致之后的代码都无法运行,是不是有点丛林大盗的感觉,此山是我开,此树是我栽,哎呀呀~ 在Python无法正常处理程序时就会发生一个异常。...character in identifier 语法错误有无效标识符,检查一下中文符号 IndexError: list index out of range 索引错误,超出索引范围,检查一下列表...expected an indented block 缩进错误,检查一下代码的缩进是否正确 KeyError: 'fond' 键错误,字典中没有该key对应的值,检查一下键名或者字典数据是否正确...友情提示:每一个try,都必须至少对应一个except。 异常是程序错误引起的,和语法错误没有关系哦,语法错误一定要及时修正!!!
缩进的作用 在 Python 中, 要求使用缩进来标识代码块。 相同层级的代码必须以垂直对齐的方式来组织, 即相同的缩进。...Python 对于缩进的数量没有严格规定,比较常见的是使用 4 个空格或者 1 个制表符。但最好不要在同一段代码中混合使用空格和制表符,这样可能会引起语法错误。...Python 的复合语句首行总是使用冒号:结尾。输入冒号后回车,新的代码行将自动缩进,以便于输入代码块中的语句。...当表达式的最终值是下表中的某个值时,会被认作是假值: 对象类型 值 对象类型 值 布尔 False null类型 None 整型 0 浮点型 0.0 空字符串 ‘’ 空列表 [] 空元组 () 空字典...elif语句是“否则如果”,总是跟在if或另一条elif语句后面。它提供了另一个条件,仅在前面的条件为False时才检查该条件。
python的语法除了赋值语句,还有一些基础的结构,这是这次课的主体内容,包括: 格式化输出 错误信息 条件语句 循环语句 函数 类 包 在学习python的基础结构时,可以多多使用 http://pythontutor.com...2.1 语法错误: SyntaxError 这是初学者经常遇到的问题,如下: 解读一下这个信息: 错误类型:SyntaxError是语法错误的意思,就是语句不符合python的语法,常见的就是中文符号的问题...python的语法使用都是英文的符号,如果不小心使用了中文符号,则会报语法错误,还有像括号是需要配对出现的,引号也是需要配对出现的,否则也会报语法错误。...条件的后面需要由一个冒号 动作(do some things):这是if语句的嵌套子语句,必须通过缩进,通常缩进是4个空格 注意:在python语法中,当一个行的最后出现冒号时,下一行通常时需要进行缩进的...:%d' % (name, score)) 如果我们在if之后没有进行缩进,则会产生缩进错误(IndentationError): python是依赖缩进来表示语句的层级的,初学者也比较容易出现类似的错误
(详细错误见上一节的缩进错误) 这是因为,当我们去掉缩进时,if 条件和 print 命令成为了两个不同的代码组,属于平行关系。你看:if 条件下面,缺少了可以执行的动作。...# 我是爱你的 # 我没有错缩进,不是if的语句块,不受条件限制,我都要打印。 条件不满足,无法执行 if 条件下的命令,从而自动跳过,执行下一行命令。...# 我不爱你了 # 我没有错缩进,不是if的语句块,不受条件限制,我都要打印。 上述条件不满足,执行else内的代码块:“我不爱你了” 多向判断:if...elif...else......print('我没有错缩进,不是if的语句块,不受条件限制,我都要打印。') # 及格 # 我没有错缩进,不是if的语句块,不受条件限制,我都要打印。...因为计算机就要按顺序一条一条地执行命令 先给goal赋值为94 if、elif、else是只能走一个的互斥关系,所以当条件满足第一个elif的时候,就进入该elif的代码块内。
if - elif - else 语句对if后的内容进行一个判断,是则将继续执行紧跟在该代码块后面的语句,否则继续对elif后的内容进行一个判断,是则将继续执行紧跟在该代码块后面的语句,否则直到执行else...语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于while代码块的缩进语句,代码块会一直循环执行,直到布尔表达式的值为布尔假。。...=、in、not in等运算符,仅仅给出数值之类的条件,也是可以的。当while后写入一个非零整数时,视为真值,执行循环体;写入0时,视为假值,不执行循环体。...一般的运行时异常 NotImplementedError 尚未实现的方法 SyntaxError 语法错误导致的异常 IndentationError 缩进错误导致的异常 TabError Tab和空格混用...Unicode解码时的异常 UnicodeEncodeError Unicode编码错误导致的异常 UnicodeTranslateError Unicode转换错误导致的异常 2.Python
关系运算符 if 语句 实际应用中的程序,大多不是一撮而就的,而是根据条件不同存在很多分支。 最基本的条件分支结构是if...else...语句即如果。。。否则。。。 ?...缩进是Python复合语句的关键,初学者经常因缩进不当而导致报错。关于缩进的习惯可以分为两个派别:Tab党,和Space党,即用Tab键或空格键来控制缩进。...(我本人常年坚持使用Tab) if之后必须是一个布尔表达式(如 condition1),当它为 True 时,执行其对应的语句体(branch1),否则向下跳转到后一个语句头(elif)。...如果所有的 if 都没有被满足,则执行最后一个 else对应的语句体。 每个if分支所属的程序体都需要缩进,否则会产生语法错误,这与C/C++/Java等使用大括号 {} 的语言不同。...其实我个人认为,使用大括号的代码可读性更高,而且不容易在传播过程中失真。 下面写一个小程序判断一个数是奇数还是偶数 ? 循环 Python只支持两种循环:for 循环和 while 循环。
关系运算符 if 语句 实际应用中的程序,大多不是一撮而就的,而是根据条件不同存在很多分支。 最基本的条件分支结构是if...else...语句即如果。。。否则。。。...缩进是Python复合语句的关键,初学者经常因缩进不当而导致报错。关于缩进的习惯可以分为两个派别:Tab党,和Space党,即用Tab键或空格键来控制缩进。...(我本人常年坚持使用Tab) if之后必须是一个布尔表达式(如 condition1),当它为 True 时,执行其对应的语句体(branch1),否则向下跳转到后一个语句头(elif)。...如果所有的 if 都没有被满足,则执行最后一个 else对应的语句体。 每个if分支所属的程序体都需要缩进,否则会产生语法错误,这与C/C++/Java等使用大括号 {} 的语言不同。...其实我个人认为,使用大括号的代码可读性更高,而且不容易在传播过程中失真。 下面写一个小程序判断一个数是奇数还是偶数 循环 Python只支持两种循环:for 循环和 while 循环。
后面缩进的多行代码被称为代码块,一个代码块会被当做一个整体来执行,除非遇到了return、break、continue等语句,会终止代码块后面语句的执行。...在使用Python语言时要注意,Python语言中的所有语句(包括条件、循环等)都使用缩进来标记代码块,而大多数编程语言都是用一对花括号来标记代码块。...所以在使用Python时一定要注意缩进,缩进一旦乱了,就不容易调回原貌了。所以说,Python语言尽管强大,但Python语言本身并不是一种格式自由的语言。...name不是Bill时,会执行下面的两条语句 print('对不起,我不认识这个人') print('请重新输入名字') 运行上面代码,如果输入的name是Bill,则会输出下面的结果 这是我们的...CEO CEO正在开会,一个小时后才能见记者 如果输入的name不是Bill,则会输出下面的结果: 对不起,我不认识这个人 请重新输入名字 2.
我们编写程序通常使用开发工具编写,比如:我使用 Pycharm 工具编写 Python 程序,像这种语法错误,在编写程序时,编译器就会检测出来并提示我们,因此,我们编写好的程序几乎不会出现这种问题。...尚未实现的方法 SyntaxError Python 语法错误 IndentationError 缩进错误 TabError Tab 和空格混用 SystemError 一般的解释器系统错误 TypeError...对类型无效的操作 ValueError 传入无效的参数 UnicodeError Unicode 相关的错误 UnicodeDecodeError Unicode 解码时的错误 UnicodeEncodeError...抛出异常 使用 raise 语句允许强制抛出一个指定的异常,要抛出的异常由 raise 的唯一参数标识,它必需是一个异常实例或异常类(继承自 Exception 的类),如: raise NameError...,当参数 n 不为 0 时,则正常,当 n 等于 0,则抛出异常,自定义异常在实际应用中很少用到,了解即可。
(缩进错误)等,你或许有许多疑问,为什么程序出现这个错误就会打印出相应的错误信息,自己是否可以编写一个错误呢?...Python异常 1.1 异常的名词解释 异常其实是一个Python对象,当Python无法正常处理程序时,就会实例化这个对象,从而抛出异常(表示一个错误) 1.2 异常捕捉 当程序出现异常时,如果不处理则会终止程序的运行...12 变量错误异常被捕捉 13 14 15 # 可以看到当出现NameError时,并没有终止程序,而是执行出现异常时的代码块 从上面的代码可以看到,当开始执行一个...长上面代码可以看出,当有多个except语句时,会从第一个except语句开始匹配,如果匹配到则执行对于的代码块,剩下的except语句则不运行。...断言语句的关键字为:assert 基本用法:assert 条件 当条件正确时,什么也不返回;当条件错误时,抛出AssertionError In [5]: assert 9>5 # 条件正确时,什么也不返回
相比于其他语言,Python 的语法比较简单易学,但一旦不注意细节,刚入门的新手就会掉进语法错误的坑里。今天给大家讲几个平常比较容易掉的“坑”。...1、忘记写冒号 在 if、elif、else、for、while、class、def 语句后面忘记添加 “ : ” ?...自定义变量时,变量名不能和这些关键字重复。 8、 索引元素位置时忘记调用 len 方法 通过索引位置来获取列表元素时,忘记要先使用 len 函数来获取列表的长度: ? 改正: ?...10、缩进问题 和其他语言的语法最大的不同就是,Python 不能用括号来表示语句块,也不能用开始或结束标志符来表示,而是靠缩进来区分代码块的。 常见的错误用法: (1)第一种 ?...错误是第二行的缩进会导致两个print语句是包含和被包含的关系,但他们两者是属于同一个代码块的,所以应该写成: ? (2)第二种 ? 错误是第三行的缩进,改正的方法有两种。
领取专属 10元无门槛券
手把手带您无忧上云