這個問題在這里已經有了答案: 在 Python 中手動引發(拋出)例外 (11 個回答) 昨天關閉。
如何撰寫函式 sqrt(f:float) -> float 當 f 為非負時回傳 f 的平方根。但是,如果 f 為負數,則您的函式應引發 ValueError 例外,指出輸入值 f 不能為負數。
例如:
sqrt(4.0)
2.0
sqrt(-1)
Traceback (most recent call last):
...
ValueError: input value cannot be negative
這是我的代碼,它實際上不起作用……我應該做哪些更改?
import math
def sqrt(x):
try:
if x > 0:
return math.sqrt(x)
else:
return ("ValueError")
except ValueError:
return ("ValueError: input value cannot be negative")
uj5u.com熱心網友回復:
您不會“回傳”錯誤;您raise的ValueError例外。
uj5u.com熱心網友回復:
使用raise關鍵字。
import math
def sqrt(x):
if x < 0:
raise ValueError("input value cannot be negative")
return math.sqrt(x)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/370830.html
上一篇:如何根據數字撰寫階乘?
