Python中的异常处理(Try…Except)
我试图在下面的代码中实现Python中的异常处理(Try…Except),python,exception,exception-handling,try-except,Python,Exception,Exception Handling,Try Except,我试图在下面的代码中实现try…except异常处理。当输入类似“s4”的内容时,我希望显示“非数字值…”的输出 知道我哪里出错了吗 import string import math def getSqrt(n): return math.sqrt(float(n)) s = input("Enter a numerical value: ") try: for i in s: if (i.isdigit() or i == "."):
try…except
异常处理。当输入类似“s4”的内容时,我希望显示“非数字值…”的输出
知道我哪里出错了吗
import string
import math
def getSqrt(n):
return math.sqrt(float(n))
s = input("Enter a numerical value: ")
try:
for i in s:
if (i.isdigit() or i == "."):
sType = "nonstr"
if (sType =="nonstr"):
print(getSqrt(s))
else:
s = "Non numberical value..."
except ValueError as ex:
print(ex)
else:
print(s)
-将输入的值转换为浮点值,并处理ValueError
:
try:
s = float(input("Enter a numerical value: "))
except ValueError:
print("Non numberrical value...")
else:
print(getSqrt(s))
演示:
-将输入的值转换为浮点值,并处理ValueError
:
try:
s = float(input("Enter a numerical value: "))
except ValueError:
print("Non numberrical value...")
else:
print(getSqrt(s))
演示:
您需要再次检查NONSR条件。此外,如果您已经在测试字符串,您会遇到什么异常?您需要再次检查NONSR条件。此外,如果您已经在测试字符串,您会遇到什么异常?感谢您的反馈。请原谅我的混淆,但是我如何在上面的代码中实现这一点,以便在输入整数并返回平方根时仍能处理?我应该在我的第一个问题中进一步解释这个问题。@CoPoPHP只需在try/except块之后调用
getSqrt()
。请参阅我已经更新了答案中的代码。@alacxe我现在应该得到一个名称错误吗<代码>名称错误:未定义名称。我不完全理解这个…@CoPoPHP好吧,这取决于你计划在错误中做什么。您可以通过调用sys.exit()
退出程序,也可以允许用户再次输入号码,直到不会出现ValueError
:@alacxe谢谢,让我看看链接。基本上,我试图显示平方根或“非数值…”。感谢您的反馈。请原谅我的混淆,但是我如何在上面的代码中实现这一点,以便在输入整数并返回平方根时仍能处理?我应该在我的第一个问题中进一步解释这个问题。@CoPoPHP只需在try/except块之后调用getSqrt()
。请参阅我已经更新了答案中的代码。@alacxe我现在应该得到一个名称错误吗<代码>名称错误:未定义名称。我不完全理解这个…@CoPoPHP好吧,这取决于你计划在错误中做什么。您可以通过调用sys.exit()
退出程序,也可以允许用户再次输入号码,直到不会出现ValueError
:@alacxe谢谢,让我看看链接。基本上,我试图显示平方根或“非数值…”。