Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 24, 2015 01:09:31

shakog
От: Спб
Зарегистрирован: 2015-06-24
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка ввода

Всем привет, есть задача. Пользователь вводит количество наработанных часов и размер почасовой оплаты. Как быть, если чтобы вводе не числового, а строкового значения, программа выводила на экран: Error, enter numeric input, а затем можно было бы ввести значение снова (Чтобы при этом не приходилось пользоваться принудительным выходом)

try:
h = float(raw_input(“Enter Hours:”))
r = float(raw_input(“Enter Rate:”))
up_r = r * 1.5
except:
print “Error, enter numeric input”
quit()
if h<=40:
pay = h*r
print pay
elif h>40:
pay = (40*r)+(h-40)*up_r
print pay

Офлайн

#2 Июнь 24, 2015 04:46:30

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

Проверка ввода

def f(s):
    while True:
        try:
            return float(raw_input(s))
        except ValueError:
            print "Error, enter numeric input"
h = f("Enter Hours: ")
r = f("Enter Rate: ")
if h <= 40:
    pay = h*r
else:
    up_r = r * 1.5
    pay = (40*r)+(h-40)*up_r
print pay



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Июнь 24, 2015 12:34:31

shakog
От: Спб
Зарегистрирован: 2015-06-24
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Проверка ввода

Отлично, спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version