使用try,除了在Python中的函数内部

时间:2014-05-05 00:44:48

标签: python try-except

使用try,除了以下代码中的函数内部产生正确的结果。

def try_function():
    try:
        hrs = float(raw_input("Enter Hours: "))
        rate = float(raw_input("Enter Rate: "))
        return hrs * rate
    except:
        print "Values are non numeric"
        quit()

pay = try_function()
print pay

我得到了以下结果:

Enter Hours: 20
Enter Rate: 10
200.0

如果我将代码更改为以下内容,我得不到结果:

def try_function():
    try:
        hrs = float(raw_input("Enter Hours: "))
        rate = float(raw_input("Enter Rate: "))
    except:
        print "Values are non numeric"
        quit()
    return hrs * rate

pay = try_function()
print pay

这是我得到的:

Enter Hours: 20
Enter Rate: 10

我不知道为什么我没有得到200的值,第一次或第二次哪种方式更好?

谢谢。

1 个答案:

答案 0 :(得分:1)

也许你有一个混合标签和空格来缩进的问题。检查缩进是否一致。

例如,如果某些行使用制表符缩进,而某些行带有空格,那么在视觉上缩进可能看起来是正确的,但Python可以解释缩进的方式与编辑器中显示的方式不同。

您可以尝试使用-t选项运行Python,如果有多个标签和组合,它会给您一个警告。空格缩进。 E.g:

python -t myprogram.py