python异常处理 try,except,finally

1、基本语法
在python中,一般处理和捕获异常会用到这个结构:

try:python程序
except 错误类型1:python程序
except 错误类型2:python程序
except 其他错误类型:python程序
finally:python程序
  1. 首先一定会进入try中执行try的python程序
  2. 如果报错
    1. 则进入except 相应的错误类型,然后执行except的python程序
    2. 然后进入finally,执行finally的python程序
  3. 如果不报错
    1. 进入finally,执行finally的python程序

2、leetcode实例

tokens = ["10","6","9","3","+","-11","*","/","*","17","+","5","+"]
def evalRPN(self, tokens):hash_dic = { "+": add, "-": sub, "*": mul, "/": lambda x, y: int(x / y)}stack_list = []for token in tokens:try:	        num = int(token)except ValueError:	        num2 = stack_list.pop()num1 = stack_list.pop()num = hash_dic[token](num1, num2)finally:stack_list.append(num)return stack_list[0]

现在我们有一个tokens数组,数组的元素是数字字符串,或者是代表加减乘除操作的字符(即’+‘、’-‘、’‘、’'),现在要让tokens的元素按照逆波兰表示法进行运算

  1. 首先我们有很多个tokens数组会进入这个函数中进行处理
  2. evalRPN函数,专门进行逆波兰式子的计算,传进来tokens数组
  3. 将代表加减乘除操作的字符做出hash表对应起来
  4. 创建一个栈
  5. 遍历这个数组的元素得到单个token
  6. 用try来判断这个token是不是数字,不是就进行except
  7. 不是数字,那么就是运算符,进行出栈操作,将出栈的两个元素和运算符进行计算得到结果
  8. 如果token是数字,就直接进栈,不是数字,将except的运算结果进栈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术对比:Flutter vs. 传统桌面应用开发框架

在移动应用开发领域,Flutter已经赢得了广泛的认可和采用,成为了跨平台移动应用开发的瑞士军刀。然而,Flutter的魅力并不仅限于移动平台,它还可以用于开发桌面应用程序,为开发人员提供了一种全新的选择。本文将深入探讨…

Elasticsearch(四)深分页Scroll

一、前言 1.1、scroll与fromsize区别 ES对于fromsize的个数是有限制的,二者之和不能超过1w。当所请求的数据总量大于1w时,可用scroll来代替fromsize。 fromsize在ES查询数据的方式步骤如下: 1、先将用户指定的关键字进行分词;…

springboot+jxls复杂excel模板导出

JXLS 是基于 Jakarta POI API 的 Excel 报表生成工具,可以生成精美的 Excel 格式报表。它采用标签的方式,类似 JSP 标签,写一个 Excel 模板,然后生成报表,非常灵活,简单! Java 有一些用于创建 …

javascript获取样式表的规则及读取与写入

CSSStyleSheet是继承了StyleSheet的接口属性,它是用于找当前文档中的<link rel“” href“”…>这样文件的&#xff0c;有以下属性&#xff1a;lenght,cssRules,title,href,type,deleteRule,insertRule等 CSSStyleRule是继承于CSSRule&#xff0c;它是用于找<link re…

5G定位技术原理与应用场景

5G高精度定位服务不仅适用于应急&#xff0c;还可以支持大量的个人业务&#xff0c;包括室外和室内场景&#xff0c;可以在交通道路、隧道、地下停车场或室内环境中支持高精度定位服务。在这些区域中&#xff0c;由于卫星信号的覆盖范围较小&#xff0c;基于5G网络的高精度定位…

[NLP] LLM---<训练中文LLama2(一)>训练一个中文LLama2的步骤

一 数据集 【Awesome-Chinese-LLM中文数据集】 【awesome-instruction-dataset】【awesome-instruction-datasets】【LLaMA-Efficient-Tuning-数据集】Wiki中文百科&#xff08;25w词条&#xff09;wikipedia-cn-20230720-filteredBaiduBaiKe&#xff08;563w词条&#xff09; …

权限提升Web篇

权限总类 Linux 管理员UID为0:超级用户&#xff0c;即root用户&#xff0c;相当于system和administrator的集合 系统用户UID为1-999: Linux系统为了避免因某个服务程序漏洞而被黑客提权的普通用户&#xff0c;拥有部分权限 UID从1000开始: 是由管理员创建的用于日常工作的用…

java-- 字符串+拼接详解, 性能调优 (底层原理实现)

目录 简单了解一下字符串 String类里面是如何存放字符串的? String的不可变性 字符串拼接的方法 1.使用拼接字符串 2. 使用concat 3. 使用StringBuilder 4.StringBuffer 使用字符串拼接的原理 使用concat StringBuilder 效率比较 简单了解一下字符串 字符串在java…

Killing LeetCode [46] 全排列

Description 给定一个不含重复数字的数组 nums &#xff0c;返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 Intro Ref Link&#xff1a;https://leetcode.cn/problems/permutations/ Difficulty&#xff1a;Medium Tag&#xff1a;Array&#xff0c;Back Trackin…

win10 win11 停止系统自动更新方法

目录 方法一&#xff1a;使用注册表更改 1. 进入注册表 2. 进入如下目录 3. 新建 DWOED(32-位)值 4. 双击 FlightSettingsMaxPauseDays&#xff0c;选择十进制&#xff0c;左侧输入9999 5. 开头的天数已经变为9999天 方法二&#xff1a;停止自动更新的服务 1. 查询服务…

arxiv上传latex文章的坑

1. 下载latex源码&#xff0c;overleaf-->提交-->arXiv-->下载latex源码 2. arxiv只支持上传小于50M的文件&#xff0c;大于50M将会出现失败 3. latex 编译错误及解决之Package natbib Error: Bibliography not compatible with author-year citations. 解决方案&a…

所有人别错过!云计算真的不错,前景钱途并存!

近年来&#xff0c;中国云计算产业发展迅猛&#xff0c;保持30%以上的年均增长率&#xff0c;成为全球增速最快的市场之一&#xff0c;云计算应用领域正向制造、政务、金融、医疗、教育等企业级市场延伸拓展。目前&#xff0c;云计算应用的普及促使开源技术广受关注&#xff0c…

汇编宏伪指令介绍

1、汇编宏伪指令介绍 .macro macname macargs .endm&#xff08;1&#xff09;“.macro"和”.endm"表示宏定义的开始和结束&#xff1b; &#xff08;2&#xff09; “.macro"后面接着宏定义的名字&#xff0c;然后是参数&#xff0c;参数后面的宏定义的实现…

安装chromadb遇到的问题与python3升级

环境&#xff1a; python 3.10 &#xff0c; centos 7.x 使用 pip3 install chromadb 时&#xff0c;遇到以下问题。 问题1: gcc note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for chroma-hnswlib F…

MYSQL不常用但好用写法

ORDER BY FIELD() 自定义排序逻辑 MySql 中的排序 ORDER BY 除了可以用 ASC 和 DESC&#xff0c;还可以通过 「ORDER BY FIELD(str,str1,…)」 自定义字符串/数字来实现排序。这里用 order_diy 表举例&#xff0c;结构以及表数据展示&#xff1a; ORDER BY FIELD(str,str1,…) …

Python API教程:API入门(上)

什么是API&#xff1f; 一个API&#xff0c;或被称为应用程序接口&#xff0c;是一个服务器为你提供一个接收或发送数据的代码。API通常用来接收数据。 本文就集中焦点在此话题中。 当我们想从一个API中接收数据&#xff0c;我们需要开始请求。请求可以包含整个Web。例如&#…

山石网科国产化防火墙,打造全方位边界安全解决方案

互联网的快速发展促进了各行各业的信息化建设&#xff0c;但也随之带来了诸多网络安全风险。大部分组织机构采用统一互联网接入方案&#xff0c;互联网出口承担着内部用户访问互联网的统一出口和对外信息服务的入口&#xff0c;因此在该区域部署相匹配的安全防护手段必不可少。…

【红包雨功能的】环境部署(弹性伸缩、负载均衡、Redis读写分离、云服务器部署)

文章目录 创建环境创建专用网络VPC安全组创建云服务器打包部署2. Java环境启动项目开机启动任意服务1. 制作服务文件2. 制作启动脚本3. 制作停止脚本4. 增加执行权限5. 设置开机启动 创建镜像继续创建多台云服务器负载均衡弹性伸缩redis的报警规则白名单1. LAMP 环境1. 安装Apa…

Postman应用——Headers请求头设置

文章目录 Header设置Header删除或禁用Header批量编辑Header预设添加 一般在接口需要校验签名时&#xff0c;Headers请求头用来携带签名和生成签名需要的参数&#xff0c;在Postman也可以设置请求头在接口请求时携带参数。 Header设置 说明&#xff1a; Key&#xff1a;Header…

docker day05

昨日内容回顾: - dockerfile的优化 - 编译速度 - 充分利用缓存镜像&#xff0c;将不常变更的指令放在靠前的位置; - 在不影响功能的前提下&#xff0c;最好是可以合并多条指令&#xff0c;可以减少中间容器或者镜像的产生; - …