python中的各种打断方式、终止代码

news/2024/10/18 9:21:00/

在编写时,我们时常遇到一种情况,就是某种情况时代码运行到某个地方就够了,后面的不想运行了。本文就一些个人经验进行了以下归纳总结。

一、for、while

for 与 while 在python 中都是进行循环的操作,具体的细节不过多赘述,简单举几个例子

          

                

 可以看到,我们只需要小于2的 i ,当 i 超过2的范围时,我们通过break 打断这个循环。

二、def

以及使用return 打断函数

            

基础理论理解,开始扩展

那么问题来了,当出现双层循环时,即我有两层循环,当内循环满足某个条件时同时终止两个循环。以及当我的函数在某个类中,我想终止函数的同时将整个类都终止,该如何做呢?

较为常见的方法当然是设置一个标记值。

a=0
for i in range(4):for j in range(4):print('s',i,j)if i*j==4:print(i,j)break
a=0
for i in range(4):for j in range(4):print('s',i,j)if i*j==4:a=1print(i,j)breakif a==1:break

 =============================================================

class ss():def __init__(self):a=self.aa()self.bb()def aa(self):print(1)return 1print(2)def bb(self):print(3)print(4)
ss()

class ss():def __init__(self):a=self.aa()if a==1:returnself.bb()def aa(self):print(1)return 1print(2)def bb(self):print(3)print(4)
ss()

这种方法的好处是标记值可以由我们自己决定,我们可以根据设置标记值设立不同的处理机制。

但是当我们只是单纯的想要终止程序时,是否有更简单的方法呢?

答案是有的,那就是故意写错(doge)。

简单的终止

利用报错令程序中断,缺点是丑了一点,优点是简单粗暴

for i in range(4):for j in range(4):print('s',i,j)if i*j==4:            print(i,j)print(1+'ss')
--> TypeError: unsupported operand type(s) for +: 'int' and 'str'

当然这样会比较丑,因为报错信息一般都会比较长,稍微美化一下,既然报错是我们刻意造成的,那么我们自然也知道报的是什么错,使用try..except..

try:for i in range(4):for j in range(4):print('s',i,j)if i*j==4:            print(i,j)print(1+'ss')
except TypeError:print('out')

就可以优雅简单的中断了。


http://www.ppmy.cn/news/784093.html

相关文章

3个方法:终止python代码运行

上次我运行了一下表弟发给我的代码 好家伙 被整蛊了… 还好我 聪明机智 终止了代码运行~ ~ ~ 废话时间过,直接上干货! 方法一: import syssys.exit() # 退出当前程序,但不重启shell方法二: exit() # 退出当前…

会话机制【Cookie 和 Session】,登陆页面的模拟实现

前言 小亭子正在努力的学习编程,接下来将开启JavaEE的学习~~ 分享的文章都是学习的笔记和感悟,如有不妥之处希望大佬们批评指正~~ 同时如果本文对你有帮助的话,烦请点赞关注支持一波, 感激不尽~~ 目录 前言 Cookie 和 Session 是什么 Cookie…

终止python代码运行的三种方式

一 sys.exit() 执行这条语句会直接退出程序,也是常用的方法,不需要考虑平台等因素的影响。它通常是退出 Python 程序的首选方法。 该方法包含一个参数status,默认为0,表示正常退出,或1,表示异常退出。 im…

springboot 整合Logstash

Maven 依赖 <dependency><groupId>net.logstash.logback</groupId><artifactId>logstash-logback-encoder</artifactId><version>7.3</version> </dependency>application.yaml log:# logstash 地址和端口&#xff0c;注意修…

基于Plupload的图片压缩上传

前言 这里的上传工具基于JQuery、Plupload 传送门&#xff1a;Plupload官方、中文文档 为什么要做图片压缩&#xff1f; 现在手机拍照都快10M了&#xff0c;但是有时候图片上传只要看得清楚就可以了&#xff0c;比如上传身份证200k能看清楚&#xff0c;为什么要上传20M&…

flutter压缩图片上传

前言&#xff1a; 在android原生中比较常用的是luban压缩&#xff0c;当然&#xff0c;flutter版本也有luban压缩&#xff0c; 通过一些资料搜索&#xff0c;luban压缩是直接通过dart进行压缩的&#xff0c;在针对一些大图片&#xff0c;动不动就12-20m的图片&#xff0c;在部…

单个电源模块带电感的直流压降仿真(一)

单个电源模块带电感的直流压降仿真(一) 下面实例分析单个电源模块带电感的直流压降仿真分析,以下图为例 具体操作如下 创建新的workspaceLoad a New/Different layout(把PCB文件加载进来)

鲁班图片压缩

前言 Luban是图片压缩工具&#xff0c;通过参考或者自创压缩规则推求极致的压缩效果 目前的版本压缩效果主要参考微信。因为微信用户量最大&#xff0c;如果压缩后的图片越接近微信则越被用户接受。 说明 目前的Luban只是压缩结果接近微信&#xff0c;自身的算法只是为了达到这…