Используя 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
Другие вопросы по тегам