python - 在 Python 的函数内部使用 try, except

标签 python try-except

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

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,第一种方法还是第二种方法更好?

谢谢。

最佳答案

也许您在混合使用制表符和空格进行缩进时遇到问题。检查你的缩进是否一致。

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

您可以尝试使用 -t 选项运行 Python,如果混合使用制表符和空格缩进,则会发出警告。例如:

python -t myprogram.py

关于python - 在 Python 的函数内部使用 try, except,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463297/

相关文章:

python - 使用python解析XBRL

python - 从本地 HTML 文件,使用 Python/AJAX 关闭计算机

python - 在解析器中报告非 fatal error 的 Pythonic 方法是什么?

python - 使用 unicode_literals 在 Flask 应用程序中添加 header

python - Python 中的异常处理(Try...Except)

python - Return 语句的奇怪 Try-Except-Else-Finally 行为

python - 在终止 python 程序时做一些事情

python - Python hash() 函数的正整数

django - 在Django中使用try除外进行错误处理

python - 错误陷阱与计数器结合使用不起作用