python中的try......except......

在python程序中我们有时会遇到错误或者“异常”,这往往意味着整个程序面临崩溃。

我们并不希望在运行过程中突然出现此类状况,而是希望能够知道错误类型,并能够及时处理它,然后继续运行。

今天我们介绍一下如何用try......except......通过判断错误类型,进行及时处理,来保证程序正常运行。

这里我们通过一个简单的小例子来理解:

题目:写一个函数,判断输入值(num)的奇偶性,如果是奇数则返回(3*num+1),偶数则返回(num//2),直到返回值为1,程序结束。要求对输入的内容进行验证。

这个过程中为避免输入的内容不是整数,引起错误,我们需要对输入的内容进行错误处理,具体代码如下:

def collatz(number):
    if number%2==0:
        #print(number//2)
        return number//2
    elif number%2==1:
        #print(3*number+1)
        return 3*number+1   

while 1:
    try:
        num=int(input())
        collatz(num)
        if collatz(num)==1:
            break
    except ValueError:
        print('请输入整数')
        
print(collatz(num))


      

这里定义了一个函数collatz()来判断输入值的奇偶性(该题目暂时不考虑输入值为0的情况);然后通过使用 while 和 if 来实现“直到返回值为1”结束。

我们看运行结果:

运行结果
题目运行结果

try......except......异常处理,程序获取到异常后直接跳到 except,所以 except 放在一次循环结束的位置,避免出现变量未定义之类的错误;try 放在获取输入值语句之前即可。

小小的案例希望能够带给编程中的你小小的帮助,让我们一起进步,欢迎交流指教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值