欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

?Python錯誤與異常處理

 更新時間:2022年01月20日 08:50:23   作者:戰(zhàn)士小小白?  
這篇文章主要介紹了?Python錯誤與異常處理,錯誤與異常處理在Python中具有非常重要的地位,熟練的使用錯誤與異常處理能夠為我們的Python編程提供很多的便利之處,希望您閱讀完本文后能夠有所收獲

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

try:
? ? n=int(input("請輸入一個整數(shù):"))
? ? x=100/n
? ? print(x)
except ValueError:
? ? print("異常,請重新輸入:")
else: ? ? ? ? #可選項,必須try-except語句為前提
? ? print("程序正常運行,沒有捕捉到異常")

2.編程實現(xiàn)索引超出范圍異常 Index Error 類型。例如:chars=["a","b",100,-37,2]

try:
? ? chars=["a","b",100,-37,2]
? ? chars[5]="k" ? ? ? ? ? ? #產生該類型異常
except IndexError:
? ? print("異常,索引超出范圍")
else: ? ? ? ? #可選項,必須try-except語句為前提
? ? print("程序正常運行,沒有捕捉到異常")

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

try:
? ? score=int(input('請輸入學生的成績:'))
? ? assert 0<=score<=100 ?#斷言 成績必須在0-100范圍內
? ? if score >= 90:
? ? ? ? print("A優(yōu)秀")
? ? if score >= 80 and score < 90:
? ? ? ? print("B良好")
? ? if score >=60 and score <80:
? ? ? ? print("C合格")
? ? if score <60:
? ? ? ? print("D不及格")
except ValueError:
? ? print("異常,輸入必須為整數(shù)")
except AssertionError: ?#斷言異常信息
? ? print("異常,輸入的成績{}不在0-100范圍內".format(score))
else: ? ? ? ? #可選項,必須try-except語句為前提
? ? print("程序正常運行,沒有捕捉到異常")

 4. 定義一個 Circle 類,其中有求面積的方法,當半徑小于 0 時, 拋出一個用戶自定義異常

import math
class RangeErrorException(Exception):#自定義異常類,判斷半徑范圍是否異常
? ? def __init__(self, error_reason='異常,圓的半徑不能為負數(shù)!'):
? ? ? ? Exception.__init__(self, error_reason)#定義的繼承自Exception的類RangeErrorException
class Circle():
? ? def __init__(self,r):
? ? ? ? self.r=r
? ? ? ? if self.r < 0:#當遇到自己設定的錯誤時,使用raise語句拋出自定義的異常
? ? ? ? ? ? raise RangeErrorException
? ? def getS(self): ? #計算獲取圓的面積
? ? ? ? area = math.pi *self.r *self.r
? ? ? ? return area
try:
? ? r=eval(input("請輸入半徑r:"))
? ? c=Circle(r)
? ? print("面積為:{:.2f}".format(c.getS()))
except RangeErrorException as reason:
? ? print(reason)
else: ? ? ? ? #可選項,必須try-except語句為前提
? ? print("程序正常運行,沒有捕捉到異常")

 5. 假設成年人的體重和身高存在此種關系:  身高(厘米)-100=標準體重(千克)   如果一個人的體重與其標準體重的差值在 其體重的正負 5%之間,顯示“體重正常”,其他則顯示“體重超標”或者“體重不達標”。編寫程序,能處理用戶輸入的異常并且使用自定義異常類來處理身高小于 30cm、大于 250cm 的異常情況。

class HighErrorException(Exception):
? ? def __init__(self,error_reason='異常,身高不能小于30cm或者大于250cm'):#自定義異常類,判斷身高是否異常
? ? ? ? Exception.__init__(self,error_reason)#定義的繼承自Exception的類HighErrorException
class relation:
? ? def __init__(self,high,weight):
? ? ? ? self.high=high
? ? ? ? self.weight=weight
? ? ? ? if self.high<30 or self.high>250:
? ? ? ? ? ? raise HighErrorException#當遇到自己設定的錯誤時,使用raise語句拋出自定義的異常
? ? def rel(self):
? ? ? ? y=self.weight-(self.high-100)
? ? ? ? if abs(y) <= self.weight*0.05 :
? ? ? ? ? ? print("體重正常")
? ? ? ? elif y > self.weight*0.05 :
? ? ? ? ? ? print("體重超標")
? ? ? ? elif y < -self.weight*0.05:
? ? ? ? ? ? print("體重不達標")
?
try:
? ? h=eval(input("請輸入身高(cm):"))
? ? w=eval(input("請輸入體重(kg):"))
? ? f=relation(h,w)
? ? f.rel()
except HighErrorException as reason:
? ? print(reason)
else: ? ? ? ? ? ?#可選項,必須try-except語句為前提
? ? print("程序正常運行,沒有捕捉到異常")

 6.設計一個一元二次方程類,并為這個類添加異常處理。

import math
class FunctionErrorException(Exception):
? ? def __init__(self,error_reason='判別式<0,函數(shù)不存在實根'):
? ? ? ? Exception.__init__(self,error_reason)
class Equation:
? ? def __init__(self,a,b,c):
? ? ? ? self.a = a
? ? ? ? self.b = b
? ? ? ? self.c = c
? ? def getDiscriminant1(self): ?#判別式
? ? ? ? d=(self.b)**2 -(4*self.a*self.c)
? ? ? ? return d
? ? def getRoot1(self):
? ? ? ? if self.getDiscriminant1()>=0:
? ? ? ? ? ? x1=(-self.b+math.sqrt(self.getDiscriminant1()))/2*self.a
? ? ? ? ? ? return x1
? ? ? ? else:
? ? ? ? ? ? raise FunctionErrorException
? ? def getRoot2(self):
? ? ? ? if self.getDiscriminant1()>=0:
? ? ? ? ? ? x2=(-self.b+math.sqrt(self.getDiscriminant1()))/2*self.a
? ? ? ? ? ? return x2
? ? ? ? else:
? ? ? ? ? ? raise FunctionErrorException
? ??
try:
? ? a=eval(input("請輸入系數(shù)a:"))
? ? b=eval(input("請輸入系數(shù)b:"))
? ? c=eval(input("請輸入系數(shù)c:"))
? ? f=Equation(a,b,c)
? ? print("判別式:",f.getDiscriminant1())
? ? print(" ? x1:",f.getRoot1())
? ? print(" ? x2:",f.getRoot2())
except FunctionErrorException as reason:
? ? print(reason)
else: ? ? ? ? #可選項,必須try-except語句為前提
? ? print("程序正常運行,沒有捕捉到異常")

到此這篇關于 Python錯誤與異常處理的文章就介紹到這了,更多相關 Python錯誤與異常處理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python的進程間通信詳解

    Python的進程間通信詳解

    大家好,本篇文章主要講的是Python的進程間通信詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • JupyterLab遠程密碼訪問實現(xiàn)

    JupyterLab遠程密碼訪問實現(xiàn)

    本文主要介紹了JupyterLab遠程密碼訪問實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python Flask的request對象使用詳解

    Python Flask的request對象使用詳解

    本文介紹Flask request對象,一個完整的HTTP請求,包括客戶端向服務端發(fā)送的Request請求和服務器端發(fā)送Response響應.為了能方便訪問獲取請求及響應報文信息,Flask框架提供了一些內建對象,下面就來說一下Flask針對請求提供內建對象reques,需要的朋友可以參考一下
    2023-02-02
  • Python中range()與np.arange()的具體使用

    Python中range()與np.arange()的具體使用

    本文主要介紹了Python中range()與np.arange()的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Python 概率生成問題案例詳解

    Python 概率生成問題案例詳解

    這篇文章主要介紹了Python 概率生成問題案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-09-09
  • 基于PyQt5制作Excel數(shù)據(jù)分組匯總器

    基于PyQt5制作Excel數(shù)據(jù)分組匯總器

    這篇文章主要介紹了基于PyQt5制作的一個小工具:Excel數(shù)據(jù)分組匯總器。文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起試一試
    2022-01-01
  • Python Django獲取URL中的數(shù)據(jù)詳解

    Python Django獲取URL中的數(shù)據(jù)詳解

    這篇文章主要介紹了Python Django獲取URL中的數(shù)據(jù)詳解,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考
    2021-11-11
  • Python下使用Scrapy爬取網(wǎng)頁內容的實例

    Python下使用Scrapy爬取網(wǎng)頁內容的實例

    今天小編就為大家分享一篇Python下使用Scrapy爬取網(wǎng)頁內容的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python圖形用戶界面與游戲開發(fā)實例詳解

    Python圖形用戶界面與游戲開發(fā)實例詳解

    GUI是圖形用戶界面的縮寫,圖形化的用戶界面對使用過計算機的人來說應該都不陌生,下面這篇文章主要給大家介紹了關于Python圖形用戶界面與游戲開發(fā)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Python的Bottle框架的一些使用技巧介紹

    Python的Bottle框架的一些使用技巧介紹

    這篇文章主要介紹了Python的Bottle框架的一些使用技巧,文中用代碼舉例介紹了這些技巧用到的特性,需要的朋友可以參考下
    2015-04-04

最新評論