Форум сайта python.su
Всем привет, есть задача. Пользователь вводит количество наработанных часов и размер почасовой оплаты. Как быть, если чтобы вводе не числового, а строкового значения, программа выводила на экран: 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
Офлайн
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
Офлайн
Отлично, спасибо!
Офлайн