一、条件判断
if&elif&else语句
age = int(float(input("请输入年龄:"))) //输入一个值
if age == 10:
print("hello 10")
elif age == 100:
print("hello 100")
else:
print("hello none")
输入:10
输出:hello 10
输入:100
输出:hello 100
输出:其他内容
输出:hello none
1、当if..elif..else 并存时,优先执行if当中的语句;
2、若if条件为真,则elif和else当中的代码不会执行
3、当if条件为假,elif中的条件为真,else当中的代码不会执行
4、当if条件和elif条件同时为假,else当中的代码才会执行
多重判断
在if判断条件中,可以加入其他判断方式进行多重判断如and,or,not
name = int(float(input("请输入姓名:"))) //输入一个值
age = int(float(input("请输入年龄:"))) //输入一个值
if age == 10 and name == "张三":
print("hello 张三 10")
if age == 10 or name == "张三":
print("hello 张三 或 10")
if not age == 10:
print("hello not 10")
输入:张三,10
输出:hello 张三 10
输入:张三,20
输出:hello 张三 或 10
输出:hello not 10
输入:李四,10
输出:hello 张三 或 10
嵌套判断
在判断的执行内加入判断,进行嵌套判断
示例:坐公交车,需要花钱,有钱才能上车,上车了之后,有座位才能坐下,没座位就站着
#假设用money = 1 表示有钱,money = 0表示没有钱;seat = yes 表示有空座,seat = no表示没有空座
money = int(input("上车清投币:"))
if money == 1:
print("祝你旅途愉快")
seat = input("是否有空座:")
if seat == "yes":
print('有空座,可以坐下')
else:
print('没有空座,站等')
else:
print('没钱请下车')
输入:1, yes
输出:祝你旅途愉快
输出:有空座,可以坐下
输入:1, no
输出:祝你旅途愉快
输出:没有空座,站等
输入:0
输出:没钱请下车
二、异常
当检测到一个错误时,在运行过程中,python的解释器就无法继续执行了,会出现一些错误的提示,即“异常”。
python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误,可以用于调试python程序。
常见的异常名称
异常名称 | 描述 |
---|---|
AttributeError | 对象没有这个属性 |
OSError | 操作系统错误 |
ImportError | 导入模块/对象失败 |
IndexError | 序列中没有此索引(index) |
KeyError | 没有这个键 |
NameError | 未声明/初始化对象(没有属性) |
SyntaxError | Python语法错误 |
TypeError | 对类型无效的操作 |
ValueError | 传入无效的参数 |
warning | 警告 |
1、异常是一个事件,该事件会在程序执行过程中发生,影响程序的正常执行;
2、一般情况下,在python无法正常处理程序时会发生一个异常;
3、异常是python对象,表示一个错误;
4、当python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。
异常处理
前文以提到过,异常是一个事件,捕捉异常的事件可以通过try/excpet语句;
try/except语句使用try语句来检查语句的异常,使用except语句进行异常信息处理;
如果不希望在发生异常后结束程序,只需要在try中捕获它
try/except/else/finally
try:
可能会出现问题的语句
except:
发生错误后执行的语句
else:
如果没有异常要执行的语句
finally:
无论是否异常都要执行的代码
try:
print(123 + "456") //int与str相加,异常
except:
print(456)
else:
print(789)
输出:789
try:
f = open("test.txt", "r")
print("没有异常,正常创建")
except:
print("出现异常,重新创建")
f = open("test.txt","w")
finally:
f.close()
无论是否发生异常,都要关闭文件