python-25-零基础自学python-处理异常三兄弟try-except-else

news2024/9/27 15:24:30

学习内容:《python编程:从入门到实践》第二版第十章

知识点:

程序异常如何处理?try-except-else

try-尝试可能引起错误的步骤

except-错误步骤发生,打印一些需要用户知道的信息,没有就pass

else-错误不发生的时候程序继续运行的部分

练习内容:

练习10-6:加法运算 提示用户提供数值输入时,常出现的一个问题是,用户提供的是文本而不是数。在此情况下,当你尝试将输入转换为整数时,将引发ValueError异常。编写一个程序,提示用户输入两个数,再将其相加并打印结果。在用户输入的任何一个值不是数时都捕获ValueError异常,并打印一条友好的错误消息。对你编写的程序进行测试:先输入两个数,再输入一些文本而不是数。

我的代码&运行结果: 

prompt = '请输入2个数值,第一个数是:'
number1 = input(prompt)
number2 = input('第二个数值是')
try:
    number = int(number1) + int(number2)
except ValueError:
    print(f"非数字无法相加,请输入数字")
    #continue

else:
    print(f"两数之和是{number}")

这样运行的结果如下,左一个是两次输入数字,程序结束。

右图一个是两次中有一次输入非数字,程序结束,但是我希望程序继续运行↓

首先采用return,但是不对,加了函数也不对,这个时候发现问题,函数到底是怎么用的基础原理部分没有掌握,另一个是continue到底怎么用,也不明确

以上两个方法试过后,还是回归while,正好是下一个练习:

练习10-7:加法计算器 将为完成练习10-6而编写的代码放在一个while循环中,让用户犯错(输入的是文本而不是数)后能够继续输入数。

while True:
    prompt = '请输入2个数值,第一个数是:'
    number1 = input(prompt)
    number2 = input('第二个数值是')
    try:
        number = int(number1) + int(number2)
    except ValueError:
        print(f"非数字无法相加,请输入数字")
    else:
        print(f"两数之和是{number}")

 

这样就可以无限循环下去,如果是放置不管,进行数据处理,就可以不停处理不用管了

总结&问题:

1.return和continue似乎不能返回到最开始。交互更好的还是用while,只是需要设置break程序。

如果以后学会了怎么更好处理文件异常,再回来补上怎么使用的方法。

这个思考发现自己的def方法、return这些的用法不清晰明确,不知道到底什么时候可以用,什么时候不能,以及怎么用更好,好像是只学到表面的知识点,没有深入,也不会举一反三。这种情况该怎么办呢?

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

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

相关文章

Samtec汽车电子 | 汽车连接器如何在高要求、极端的环境中工作

【摘要/前言】 汽车电子,这些年来始终是极具流量的热门话题,目前不断发展的智能座驾、辅助驾驶等赛道都是对相关产业链需求的进一步刺激,这里蕴含着一片广阔的市场。 同样,广阔的市场里有着极高的准入门槛和事关安全的技术挑战。…

Day49:LeedCode 647. 回文子串 516.最长回文子序列

647. 回文子串 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 示例 1: 输入:s "abc" 输出:3 解…

PLM是什么?一文读懂PLM系统的定位、价值、特点、功能(流程行业离散行业)、实施、以及发展趋势

随着全球制造业向智能化、数字化转型,产品生命周期管理(PLM)系统已成为企业优化研发流程、加速产品上市速度的关键工具。本文将带您深入了解PLM,了解研发管理的最佳实践。 01、PLM系统的定位 PLM即产品生命周期管理,P…

请跳至打印机属性的“Adobe PDF设置”页面,取消选择“仅停靠系统字体;不使用文档字体”

场景: 当使用adobe pdf打印时,出现如下提示“请跳至打印机属性的“Adobe PDF设置”页面,取消选择“仅停靠系统字体;不使用文档字体””,该如何解决。 描述 □“仅停靠系统字体;不使用文档字体” 复选本框…

【排序 - 堆排序】

堆排序(Heap Sort)是一种高效的排序算法,利用了堆这种数据结构的特性。堆排序的时间复杂度为 O(n log n),并且是一个原地排序算法,不需要额外的存储空间。 堆的基本概念 堆是一种特殊的树形数据结构,分为…

supOS助力油气行业数智化转型

在油气行业,高温高压、易燃易爆的特殊环境对生产安全和效率提出了极高的要求。传统工厂管理模式往往存在信息孤岛、决策滞后、响应速度慢等问题,难以适应现代工业化发展的需求。 从传统工厂到智能工厂,首先要实现企业经营运营自动化和生产过程…

78. UE5 RPG 创建技能数据并初始化技能ui

在上一篇文章里,我们创建了技能的UI,接下来,我们要考虑如何实现对技能UI的填充,肯定不能直接写死,需要有一些方法去实现技能的更新。我们期望能够创建一个技能数据,然后根据数据通过回调的方式实现数据的更…

树链剖分相关

树链剖分这玩意儿还挺重要的,是解决静态树问题的一个很好的工具~ 这里主要介绍一下做题时经常遇到的两个操作: 1.在线求LCA int LCA(int x,int y){while(top[x]!top[y])if(dep[top[x]]>dep[top[y]]) xfa[top[x]];else yfa[top[y]];return dep[x]&l…

新版FMEA培训未能达到预期效果怎么办?

在制造业的质量管理中,FMEA(Failure Mode and Effects Analysis,失效模式与影响分析)是一项至关重要的工具,它帮助企业识别和评估产品或过程中潜在的失效模式,以及这些失效模式可能导致的后果。然而&#x…

可视化作品集(11):节能环保能耗领域大展拳脚。

在大屏上可视化节能环保领域的能耗数据可以通过各种图表和数据展示方式,可以帮助观众直观地了解节能环保领域的能耗情况和公司在该领域的工作成果。 1. 实时能源消耗数据: 通过实时折线图或饼状图展示不同能源(电力、天然气、水等&#xff…

FastAPI 学习之路(三十六)引入APIRouter

本次调整后的目录如下: 我们可以使用APIRouter来声明路径操作,我们先看下如何去使用。 我们根据选择划分为users和items来细分。 具体实现如下: ①先看items实现 from fastapi import APIRouter from fastapi import Depends from models.…

【密码学】公钥密码的基本概念

在先前我写的密码学体制文章中谈到,现代密码学分为两大体制,介绍了一些有关对称密码体制诸如流密码和分组密码的内容。本文的主要内容则切换到公钥密码体制(又称非对称密码体制),简述了公钥密码体制的基本思想和应用方…

SPI通信协议和W25Q64

前言: STM32中的通信接口: UART 单总线 IIC SPI CAN 1. SPI FLASH W25Q64的关系 SPI:一种通信接口,可以用于和搭载SPI接口的设备通信 FLASH:是一种掉电不丢失的存储 -- 手机8256G的256 单片机 64K512K的512 芯片内部flash&…

AutoMQ 与蚂蚁数科达成战略合作

近期,AutoMQ 与蚂蚁数科正式签署战略合作协议,将和蚂蚁数科云原生 PaaS 平台 SOFAStack 在产品研发、生态集成、市场合作、技术社区影响力等多方面开展深度合作。 AutoMQ 是业内领先的消息和流存储服务提供商,基于云原生基础设施重新设计了 …

windows防火墙端口设置

PS:本文实例为Windows Server 2019,其他Windows版本大同小异。 1、首先打开windows防火墙,点击“高级设置” 2、 高级设置界面 3、假设需要开放一个端口为3306应该怎么做 光标对准“入站规则”右键新建规则,选择“端口” 协议这…

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟

CSDN回顾与前行:我的创作之旅——2048天的技术成长与感悟 💖The Begin💖点点关注,收藏不迷路💖 前言 时光荏苒,岁月如梭。转眼间,从我在CSDN上写下第一篇技术博客《2-6 带头结点的链式表操作集…

tensorflow之欠拟合与过拟合,正则化缓解

过拟合泛化性弱 欠拟合解决方法: 增加输入特征项 增加网络参数 减少正则化参数 过拟合的解决方法: 数据清洗 增大训练集 采用正则化 增大正则化参数 正则化缓解过拟合 正则化在损失函数中引入模型复杂度指标,利用给w增加权重,…

Python 轻松生成多种条形码、二维码 (Code 128、EAN-13、QR code等)

条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流、零售、医疗、教育等各领域。 本文将介绍如何使用Python快速生成各种常见的条形码如Code 128、EAN-13,…

了解PPO算法(Proximal Policy Optimization)

Proximal Policy Optimization (PPO) 是一种强化学习算法,由 OpenAI 提出,旨在解决传统策略梯度方法中策略更新过大的问题。PPO 通过引入限制策略更新范围的机制,在保证收敛性的同时提高了算法的稳定性和效率。 PPO算法原理 PPO 算法的核心…

Python程序封装成Windows服务实践

1. WinSW 工具概述 WinSW(Windows Service Wrapper)是一个轻量级的、开源的工具,用于将任何可执行文件(包括exe、jar、脚本文件等)包装成一个Windows服务。这意味着,原本设计为命令行应用或需要手动启动的…