Используя try, кроме как внутри функции в Python
Использование 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 ответ
Возможно, у вас есть проблемы со смешиванием вкладок и пробелов для отступа. Проверьте, соответствует ли ваш отступ.
Например, если некоторые строки имеют отступы с табуляцией, а некоторые - с пробелами, визуально отступ может выглядеть правильно, но Python может интерпретировать отступ иначе, чем он выглядит в вашем редакторе.
Вы можете попробовать запустить Python с -t
опция, которая выдаст вам предупреждение, если есть сочетание отступов табуляции и пробелов. Например:
python -t myprogram.py