python異常(作業)

2021-09-07 09:10:45 字數 1957 閱讀 7618

假設成年人的體重和身高存在此種關係:

身高(厘公尺)-100=標準體重(千克)

如果乙個人的體重與其標準體重的差值在正負5之間,顯示「體重正常」,其他則顯示「體重超標」或體重不達標

編寫程式,能處理使用者輸入的異常,並且使用自定義異常類來處理身高小於30cm、大於250cm的異常情況

try:

length=int(input("請輸入你的身高(cm):"))

weight=int(input("請輸入你的體重(kg):"))

standrd_weight=length-100

diff_weight=weight-standrd_weight

assert diff_weight<=0.05 and diff_weight>=-0.05,"體重不正常!"

except assertionerror as reason:

print(reason)

else:

print("體重正常")

修改後的版本:

class input_problem(exception):

"""自定義異常"""

def __init__(self,length,max,min):

self.length=length

self.max=max

self.min=min 「」「給類設定屬性」「」

try:

length=int(input("請輸入你的身高(cm):"))

weight=int(input("請輸入你的體重(kg):")) 「」「使用者輸入」「」

standrd_weight=length-100

diff_weight=weight-standrd_weight

if length>=30 and length<=250:

assert diff_weight<=5,"體重超標" """assert語句丟擲異常"""

assert diff_weight>=-5,"體重不達標!"

else:

raise input_problem(length,250,30)

except assertionerror as reason:

print(reason)

except input_problem:

print("input_problem_erroer:輸入的身高是:%dcm,不能超過250cm,不能少於30cm"%length) """新增異常描述"""

else:

print("體重正常")

錄入乙個學生成績,把該學生的成績轉換為a-優秀,b-良好,c-合格,d-不及格的形式,最後將該學生的成績列印出來

要求使用assert斷言語句處理分數不合理的情況:

while true:

try:

score=int(input("請輸入你的成績:"))

assert score>=0 and score<=100,"輸入有誤請重新輸入!"

if score>=90:

print("成績為:a")

elif score>=80 and score<=89:

print("成績為:b")

elif score>=60 and score<=79:

print("成績為:c")

else:

print("成績為:d,不及格!!!")

except assertionerror as reason:

print(reason)

python 丟擲異常 python 異常

異常的概念 捕獲異常 異常的傳遞 丟擲異常 程式在執行時,如果 python 直譯器 遇到 到乙個錯誤,會停止程式的執行,並且提示一些錯誤資訊,這就是 異常 程式停止執行並且提示錯誤資訊 這個動作,我們通常稱之為 丟擲 raise 異常 程式開發時,很難將 所有的特殊情況 都處理的面面俱到,通過 異...

Python3 檔案 異常(作業)

一 檔案 from datetime import datetime import io 自定義的上下文管理器 計時器 class runtime object def enter self self.start time datetime.now return self.start time de...

作業0304異常處理

class a pass try print a.x except attributeerror as x print x a try print a age except keyerror as a print a a 1,2,3,4,5 b iter a try while true print...