繁体   English   中英

Python中的异常处理(尝试…除外)

[英]Exception Handling in Python (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 == "."):
            sType = "nonstr"

    if (sType =="nonstr"):
        print(getSqrt(s))

    else:
        s = "Non numberical value..."


except ValueError as ex:
    print(ex)


else:
    print(s)

要求宽恕 -将输入的值转换为float并处理ValueError

try:
    s = float(input("Enter a numerical value: "))
except ValueError:
    print("Non numberrical value...")
else:
    print(getSqrt(s))

演示:

>>> try:
...     s = float(input("Enter a numerical value: "))
... except ValueError:
...     print("Non numberrical value...")
... 
Enter a numerical value: s4
Non numberrical value...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM