如何在异常处理中包含try:和except:?

2024-04-26 13:17:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在这个程序中包含try:except:,以捕获文本字符串异常,但无法找出如何实现。如何包含try:except:以进行异常处理?你知道吗

#!/usr/bin/python2.7

h = float(raw_input('Enter Hours: '))
r = float(raw_input('Enter Rate: '))
if h > 40 :
    p = h * r + (h - 40) * r * 0.5
else :
    p = h * r
print 'Pay:', p

Tags: 字符串文本程序inputrawifbinrate
2条回答

你只需要用一对试试看

def num(s):
    try:
        return float(s)
    except :
        return None
h = num(raw_input('Enter Hours: '))

现在你需要一个有效的回答。例如。你知道吗

h = None
p = None
while (h is None):
    h = num(raw_input('Enter Hours: '))
while (p is None):
    p = num(raw_input('Enter Price: '))

这取决于您希望如何处理其余的处理。如果0是无效条目,有些人可能更愿意返回0,因为0 price或0 hours也将是无效的,所以test for>;0

def num(s):
    try:
        return float(s)
    except :
        return 0.0
h = num(raw_input('Enter Hours: '))

h = 0.0
p = 0.0
while (h <= 0.0):
    h = num(raw_input('Enter Hours: '))
while (p <= 0.0):
    p = num(raw_input('Enter Price: '))
#!/usr/bin/python2.7

def calc_pay(h, r) :
    if h <= 0 or r <= 0 :
        return None
    elif h > 40 :
        return (h * r + (h - 40) * r * 0.5)
    else :
        return (h * r)

try :
    h = float(raw_input('Enter Hours: '))
    r = float(raw_input('Enter Rate: '))
    p = calc_pay(h, r)
    print 'Pay:', p
except :
    print "Enter Numeric Data"

相关问题 更多 >