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//2elif number%2==1:#print(3*number+1)return 3*number+1 while 1:try:num=int(input())collatz(num)if collatz(num)==1:breakexcept ValueError:print('请输入整数')print(collatz(num))
这里定义了一个函数collatz()来判断输入值的奇偶性(该题目暂时不考虑输入值为0的情况);然后通过使用 while 和 if 来实现“直到返回值为1”结束。
我们看运行结果:
try......except......异常处理,程序获取到异常后直接跳到 except,所以 except 放在一次循环结束的位置,避免出现变量未定义之类的错误;try 放在获取输入值语句之前即可。
小小的案例希望能够带给编程中的你小小的帮助,让我们一起进步,欢迎交流指教。
python中的try......except......相关推荐
- 如何优雅的在python中暂停死循环?
死循环 有时候在工作中可能会遇到要一直执行某个功能的程序,这时候死循环就派上用途了,python中死循环的具体形式大致如下 while True:run_your_code() 结束死循环 通常我们结 ...
- 关于python中的dict和defaultdict
dict 在Python中如果访问字典中不存在的键,会引发KeyError异常,所以一般当我们比如统计一句话的词频时候,我们总是使用这样的处理方式: strings = ('puppy', 'kitt ...
- python中的新式类与旧式类的一些基于descriptor的概念(上)
python中基于descriptor的一些概念(上) 1. 前言 2. 新式类与经典类 2.1 内置的object对象 2.2 类的方法 2.2.1 静态方法 2.2.2 类方法 2.3 新式类(n ...
- Python中yield和yield from的用法
yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...
- Python中正则表达式用法 重点格式以这个为准_首看_各种问题
20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...
- 逗号分隔的字符串转换为Python中的列表 split
将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...
- [翻译]Python中yield的解释
问题: Python中yield关键字的作用是什么?它做了什么? 例如,我想理解以下代码 def node._get_child_candidates(self, distance, min_dist ...
- 全面理解Python中的类型提示(Type Hints)
众所周知,Python 是动态类型语言,运行时不需要指定变量类型.这一点是不会改变的,但是2015年9月创始人 Guido van Rossum 在 Python 3.5 引入了一个类型系统,允许开发 ...
- python中break和continue的区别
python中break和continue的区别 break 结束for 或者while 循环 后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...
- 通过带Flask的REST API在Python中部署PyTorch
通过带Flask的REST API在Python中部署PyTorch 在本文中,将使用Flask来部署PyTorch模型,并用讲解用于模型推断的 REST API.特别是,将部署一个预训练的Dense ...
最新文章
- sql特殊字符转义,oracle中将字符 ‘ 转义
- 从一个死锁看mysql innodb的锁机制
- 单台主机 kafka + zookeeper 集群搭建
- 关于IsolatedStorageFile存取文件的问题
- 每日一题(19)—— 用变量a给出下面的定义
- 玩转算法面试:(一)什么是算法面试?
- gx works2产品id_gx works2中文版下载|
- python画美女代码_3分钟画字符画跟女神表白,利用python字符串、列表方法
- 笔记本电脑清灰打硅脂后,开机一直黑屏,如何破?
- linux投影手机,linux连接投影机方法介绍
- 【番杰的小技巧笔记】查看windows许可证到期时间
- wait和notify方法
- stm32f429ig usbvcp故障排除
- 软件开发的过程中,这些文档你都用到了吗?
- 中心损失和单中心损失
- Java笔记总结(一)
- 如何在 R 中应用经验法则
- Scrapy-Splash爬取淘宝排行榜(二)
- 车载wince升级改造_想在低配车内蹦迪?改造车机还不如装个接收器,也就一顿饭钱...
- oracle access表丢失,oracle 11.1.0.7-版本也会出现access$表丢失导致数据库无法启动