python学习笔记(4)--条件判断&异常处理

一、条件判断

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 == 10print("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未声明/初始化对象(没有属性)
SyntaxErrorPython语法错误
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")	//intstr相加,异常
except:
	print(456)
else:
	print(789)

输出:789
try:
	f = open("test.txt", "r")
	print("没有异常,正常创建")
except:
    print("出现异常,重新创建")
    f = open("test.txt","w")
finally:
    f.close()

无论是否发生异常,都要关闭文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值