【Python學習篇】Python實驗小練習——異常處理(十三)

?個人名片:

🎓作者簡介:嵌入式領域優質創作者
🌐個人主頁:妄北y

📞個人QQ:2061314755

💌個人郵箱:[mailto:2061314755@qq.com]
📱個人微信:Vir2025WBY

🖥?個人公眾號:科技妄北
🖋?本文為妄北y原創佳作,獨家首發于CSDN🎊🎊🎊
💡座右銘:改造世界固然偉大,但改造自我更為可貴。

專欄導航:

妄北y系列專欄導航:

物聯網嵌入式開發項目:大學期間的畢業設計,課程設計,大創項目,各種競賽項目,全面覆蓋了需求分析、方案設計、實施與調試、成果展示以及總結反思等關鍵環節。📚💼💡

QT基礎入門學習:對QT的基礎圖形化頁面設計進行了一個簡單的學習與認識,利用QT的基礎知識進行了翻金幣小游戲的制作。🛠?🔧💭

Linux基礎編程:初步認識什么是Linux,為什么學Linux,安裝環境,進行基礎命令的學習,入門級的shell編程。🍻🎉🖥?

深耕Linux應用開發:分享Linux的基本概念、命令行操作、文件系統、用戶和權限管理等,網絡編程相關知識,TCP/IP 協議、套接字(Socket)編程等,可以實現網絡通信功能。常見開源庫的二次開發,如libcurl、OpenSSL、json-c、freetype等💐📝💡

Linux驅動開發:Linux驅動開發是Linux系統不可或缺的組成部分,它專注于編寫特殊的程序——驅動程序。這些程序承載著硬件設備的詳細信息,并扮演著操作系統與硬件間溝通的橋梁角色。驅動開發的核心使命在于確保硬件設備在Linux系統上順暢運作,同時實現與操作系統的無縫集成,為用戶帶來流暢穩定的體驗。🚀🔧💻

Linux項目開發:Linux基礎知識的實踐,做項目是最鍛煉能力的一個學習方法,這里我們會學習到一些簡單基礎的項目開發與應用,而且都是畢業設計級別的哦。🤸🌱🚀

非常期待與您一同在這個廣闊的互聯網天地里,攜手探索知識的海洋,互相學習,共同進步。🌐💫🌱 熠熠星光,照亮我們的成長之路

?? 歡迎訂閱本專欄,對專欄內容任何問題都可以隨時聯系博主,共同書寫屬于我們的精彩篇章!??

文章介紹:

📚本篇文章將深入剖析Python學習的精髓與奧秘,與您一同分享相關知識!🎉🎉🎉

若您覺得文章尚可入目,期待您能慷慨地送上點贊、收藏與分享的三連支持!您的每一份鼓勵,都是我創作路上源源不斷的動力。讓我們攜手并進,共同奔跑,期待在頂峰相見的那一天,共慶輝煌!🚀🚀🚀

🙏衷心感謝大家的點贊👍、收藏?和評論??,您的支持是我前進的動力!

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到網站:??????人工智能教程

目錄:

目錄:

一、實驗目的:

二、實驗環境:

三、實驗內容:

四、實驗步驟與結果

五、總結:

1. 實驗過程中的問題及解決方法:

2. 實驗收獲:


一、實驗目的:

(1)try-except-else語句

(2)finally語句

(3)斷言語句

(4)異常拋出

二、實驗環境:

????????聯網計算機一臺/每人,內裝Windows 7以上操作系統和安裝Python 3.7集成開發環境IDLE。

三、實驗內容:

????????1. 從鍵盤輸入一個整數,求100除以它的商,并顯示輸出。要求對從鍵盤輸入的數值進行異常處理(不能出現除數為0)

? ? ? ? 2.?編程實現索引超出范圍異常index Error類型,對一個序列的索引值進行判斷,如果超出則報錯

? ? ? ? 3.錄入一個學生的成績,把該學生的成績轉化為A優秀、B良好、C合格、D不及格的形式,最后將該學生的成績打印出來。要求使用assert 斷言處理分數不合理的情況

四、實驗步驟與結果

1. 從鍵盤輸入一個整數,求100除以它的商,并顯示輸出。要求對從鍵盤輸入的數值進行異常處理(不能出現除數為0)。

源代碼:

try:# 從鍵盤輸入一個整數num = int(input("請輸入一個整數: "))# 檢查除數是否為0if num == 0:raise ZeroDivisionError("除數不能為0")# 計算100除以輸入的整數的商result = 100 / num# 顯示輸出print(f"100除以{num}的商是: {result}")except ValueError:# 處理輸入不是整數的情況print("輸入無效,請輸入一個整數。")except ZeroDivisionError as e:# 處理除數為0的情況print(e)

運行效果:

2.?編程實現索引超出范圍異常index Error類型,對一個序列的索引值進行判斷,如果超出則報錯。

源代碼:

def check_index(sequence, index):try:# 嘗試訪問序列中的元素element = sequence[index]return elementexcept IndexError:# 如果索引超出范圍,拋出IndexError異常raise IndexError(f"Index {index} is out of range for sequence of length {len(sequence)}")# 示例使用
try:my_list = [1, 2, 3, 4, 5]index = 10element = check_index(my_list, index)print(f"Element at index {index} is {element}")
except IndexError as e:print(e)

運行效果:

3.錄入一個學生的成績,把該學生的成績轉化為A優秀、B良好、C合格、D不及格的形式,最后將該學生的成績打印出來。要求使用assert 斷言處理分數不合理的情況。

源代碼:

def convert_score_to_grade(score):# 使用assert斷言處理分數不合理的情況assert 0 <= score <= 100, "分數必須在0到100之間"if score >= 90:return 'A'elif score >= 80:return 'B'elif score >= 60:return 'C'else:return 'D'try:# 錄入學生的成績score = float(input("請輸入學生的成績: "))# 將成績轉化為等級grade = convert_score_to_grade(score)# 打印學生的成績等級print(f"學生的成績等級是: {grade}")
except ValueError:print("輸入無效,請輸入一個數字。")
except AssertionError as e:print(e)

運行效果:

五、總結:

1. 實驗過程中的問題及解決方法:

問題1: 用戶輸入非整數的字符,用戶輸入0作為除數。

解決方法:

????????使用異常處理機制(如`try-except`塊)捕獲并處理輸入非整數的情況,提示用戶重新輸入。

????????使用條件語句(如`if`語句)檢查輸入是否為0,如果是,拋出自定義異常或提示用戶除數不能為0。

問題2: 用戶可能輸入超出序列范圍的索引值。

解決方法:

????????使用異常處理機制捕獲并處理輸入非整數的情況,提示用戶重新輸入。

????????使用條件語句檢查輸入的索引是否在序列的有效范圍內,如果不在,拋出自定義異常或提示用戶索引超出范圍。

問題3:用戶可能輸入超出0到100范圍的分數。

解決方法:

????????使用斷言(`assert`)確保輸入的分數在0到100之間,如果不在范圍內,拋出自定義異常或提示用戶分數不合理。

????????使用條件語句將分數轉換為相應的等級,并打印出來。

2. 實驗收獲:

通過實驗,我深刻理解了異常處理在編程中的重要性。異常處理不僅能夠提高程序的健壯性,還能在出現錯誤時提供清晰的錯誤信息,幫助用戶或開發者快速定位問題,實驗過程中,我不斷思考如何處理各種異常情況,這鍛煉了我的邏輯思維和問題解決能力。通過實際編碼和調試,我學會了如何將理論知識應用到實際問題中,提高了我的編程技能,這次實驗不僅加深了我對異常處理、斷言、條件語句等編程概念的理解,還提升了我的編程實踐能力和問題解決能力,為未來的編程工作打下了堅實的基礎。

📝大佬覺得本文有所裨益,不妨輕點一下👍給予鼓勵吧!

??????本人雖努力,但能力尚淺,若有不足之處,懇請各位大佬不吝賜教,您的批評指正將是我進步的動力!😊😊😊

💖💖💖若您認為此篇文章對您有所幫助,煩請點贊👍并收藏🌟,您的支持是我前行的最大動力!

🚀🚀🚀任務在默默中完成,價值在悄然間提升。讓我們攜手共進,一起加油,迎接更美好的未來!🌈🌈🌈

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37120.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37120.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37120.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【教程】5分鐘直接了解隨機森林模型

本文來自《老餅講解-BP神經網絡》https://www.bbbdata.com/ 目錄 一、什么是隨機森林模型1.1.隨機森林模型介紹1.2.為什么隨機森林要用多棵決策樹 二、怎么訓練一個隨機森林模型2.1.訓練一個隨機森林模型 隨機森林模型是機器學習中常用的模型之一&#xff0c;它是決策樹模型的一…

Node.js全棧指南:靜態資源服務器

上一章【認識 MIME 和 HTTP】。 我們認識和了解了 MIME 的概念和作用&#xff0c;也簡單地學習了通過瀏覽器控制臺查看請求和返回的用法。 通過對不同的 HTML、CSS、JS 文件進行判斷&#xff0c;設置不同的 MIME 值&#xff0c;得以讓我們的瀏覽器正正確地接收和顯示不同的文…

八爪魚現金流-031,寬帶到期記一筆負債

到期了&#xff0c;新弄的網絡&#xff0c;記錄一下負債包。 八爪魚現金流 八爪魚

英英詞典(匯編實驗)

功能要求&#xff1a; 1.單詞及其英文解釋的錄入、修改和刪除 (1 ) 錄入新單詞&#xff0c;把它插入到相應的位置(按詞典順序)&#xff0c;其后跟英文解釋、同義詞、反義詞&#xff1b;&#xff08;此功能要求在文件中完成&#xff0c;其它功能可以將單詞放在數據段中&#xf…

數據庫原理之數據庫基本概念

目錄 前言 基本概念 數據庫完整性 前言 今天我們來看看數據庫的基本概念&#xff0c;幫助大家對數據庫有一點點最基本的了解 基本概念 4個基本概念 數據data&#xff1a;描述事物的符號&#xff0c;數據庫中存儲的基本對象。 數據庫Database&#xff1a;長期存儲在計算機…

山東大學多核并行2024年回憶版

2024.6.13回憶版 矩陣向量乘不可整除代碼 集合通信與點對點通信的區別 塊劃分、循環劃分、循環塊劃分&#xff08;14個向量&#xff0c;4個進程&#xff09; 按行訪問還是按列訪問快 SISD系統問題 循環依賴問題 問題&#xff1a;為什么不能對這個循環并行化&#xff0…

Python邏輯控制語句 之 綜合案例

需求&#xff1a; 1. 提示?戶輸?登錄系統的?戶名和密碼 2. 校驗?戶名和密碼是否正確(正確的?戶名:admin、密碼:123456) 3. 如果?戶名和密碼都正確&#xff0c;打印“登錄成功!”&#xff0c;并結束程序 4. 如果?戶名或密碼錯誤&#xff0c;打印“?戶名或密碼錯誤!”…

Django 對模型創建的兩表插入數據

1&#xff0c;添加模型 Test/app8/models.py from django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email models.EmailField(uniqueTrue)password models.CharField(max_length128) # 使用哈希存儲密碼first_name …

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組]

代碼隨想錄算法訓練營第一天 [300.最長遞增子序列 674. 最長連續遞增序列 718. 最長重復子數組] **一、300.最長遞增子序列 ** 鏈接: 代碼隨想錄. 思路&#xff1a;dp[i] 以nums[i]為結尾的遞增子序列最大長度&#xff0c;下標為i的數&#xff0c;需要和下標為0開始一直到下標為…

DM 的斷點續傳測試

作者&#xff1a; 大魚海棠 原文來源&#xff1a; https://tidb.net/blog/4540ae34 一、概述 DM有all、full、incremental三種數據遷移同步方式&#xff08;task-mode&#xff09;&#xff0c;在all同步模式下&#xff0c;因一些特殊情況&#xff0c;需要變更上游MySQL的數…

LDO產品的基礎知識解析

低壓降穩壓器 (LDO)是一種用于調節較高電壓輸入產生的輸出電壓的簡單方法。在大多數情況下&#xff0c;低壓降穩壓器都易于設計和使用。然而&#xff0c;如今的現代應用都包括各種各樣的模擬和數字系統&#xff0c;而有些系統和工作條件將決定哪種LDO最適合相關電路&#xff0c…

鄧普頓的五大投資原則

在《逆向投資 鄧普頓的長贏投資法》的推薦序《“逆向投資大神”鄧普頓五大投資原則》中&#xff0c;劉建位總結了鄧普頓的五大投資原則&#xff0c;分別是“以逆向投資為中心”“以價值投資為選股根本”“以分散投資為組合穩定器”“以全球投資來擴大機會池”“以極度悲觀點投資…

rust單元測試順序執行

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站。 存在的問題 有時候&#xff0c;不同單元測試之間可能會競爭相同的資源&#xff0c;比如讀寫相同的文件。在這種情況下&#xff0c;如果…

springboot的特點是什么?

Spring Boot是一個基于Spring框架的開源項目&#xff0c;它旨在簡化Spring應用的初始搭建和開發過程。以下是Spring Boot的一些主要特點&#xff1a; 快速開發&#xff1a; Spring Boot提供了許多默認配置&#xff0c;使得開發者可以更快地開始開發應用程序&#xff0c;而無需…

秋招突擊——6/28、6.29——復習{數位DP——度的數量}——新作{}

文章目錄 引言復習數位DP——度的數量個人實現參考實現 總結 引言 頭一次產生了那么強烈的動搖&#xff0c;對于未來沒有任何的感覺的&#xff0c;不知道將會往哪里走&#xff0c;不知道怎么辦。可能還是因為實習吧&#xff0c;再加上最近復習也沒有什么進展&#xff0c;并不知…

Vmware Windows虛擬機卡死了

每次遇到這個問題我都想罵娘&#xff01;&#xff01;&#xff01;&#xff01; 這一次是怎么解決的呢&#xff1f; 解決&#xff1a;我給虛擬機連上網就好了&#xff01; 重啟&#xff0c;開關機&#xff0c;一點用都沒有。

前端 JS 經典:箭頭函數的意義

箭頭函數是為了消除函數的二義性。 1. 二義性 函數的二義性指函數有不同的兩種用法&#xff0c;就造成了二義性&#xff0c;函數的兩種用法&#xff1a;1. 指令序列。2. 構造器 1.1 指令序列 就是調用函數&#xff0c;相當于將函數內部的代碼再從頭執行一次。 1.2 構造器 …

【Linux 工具 】 tcpdump詳細使用說明

目錄 1. 安裝 tcpdump 2. 使用 tcpdump 命令 3. 監聽所有網絡接口 4. 監聽指定網絡接口 5. 保存數據包到文件 6. 讀取保存的數據包文件 7. 過濾數據包 過濾源 IP 地址: 過濾目標 IP 地址: 過濾源和目標 IP 地址: 過濾指定端口: 過濾指定協議: 8. 顯示數據包詳…

爬蟲實戰:使用PHP爬取攜程旅游信息

隨著旅游業的不斷發展&#xff0c;旅游信息變得非常豐富。為了方便大家獲取更全面、準確的旅游信息&#xff0c;我們可以使用爬蟲來抓取旅游網站上的數據&#xff0c;并進行分析和處理。本文將介紹如何使用php爬取攜程旅游信息。 爬蟲基礎知識 爬蟲是一種自動化程序&#xff…