Python 异常处理(3)

本文介绍了如何在Python中使用try-except-else结构来计算整数的平方根,特别关注负数处理和错误捕获。通过实例演示了如何在except块中处理非物理值,以及在else块中输出正数的平方根。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

try-except代码块的作用就是当try代码块中的程序代码运行没有错误,则跳过except代码块;反之如果try代码块中的程序代码运行出现错误,则运行except代码块中的内容,一般except代码块中的内容都是输出错误信息。

try:
    print(2/0)
except:
    print("We can't divide by zero!")

我们一般使用try-except代码块处理异常,try-except代码块让 Python 程序在遇到错误时执行指定的操作,而不是产生t\fraceback。

通过raise显式抛出异常信息

除了系统自动抛出异常外,程序员也可以通过 Python 的raise显式抛出自己的包含特定信息的异常。一旦执行了raise语句,raise之后的语句将不能执行。

def read_C():
try:
C = float(sys.argv[1])
except ValueError:
raise ValueError(‘Degrees must be number, not “%s”’ % sys.argv[1])
if C < -273.15:
raise ValueError(‘C=%g is a non-physical value!’ % C)
return C
在raise关键字之后抛出一个ValueError类型的异常信息,并在后面的参数中定义具体的异常信息。

else代码块

可以在try-except代码块后面添加try代码块,当try代码块中的程序运行没有异常时,程序将运行else代码块中的内容,例如:

a = int(input())
b = int(input())
try:
answer = a/b
except:
print(“We can’t divide by zero!”)
else:
print(answer)

编程要求``

本关的编程任务是补全 src/Step3/test3.py 文件的代码,实现相应的功能。具体要求如下:

补充代码,体会 try-except-else 代码块编程过程;

要求:对输入的整数进行平方根运算,如果输入的整数是负数,则在except代码块中中输出We can’t take a root by minus ;如果输入的是正数,则正常输出平方根值。

#coding=utf-8
import math

#输入整数a
a = int(input())

try:
    answer = math.sqrt(a)

# 请在此添加代码,实现编程要求
#********** Begin *********#
except:
    print("We can't take a root by minus")
else:
    print(answer)



#********** End **********#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值