在以下代码中的函数内部使用 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/