#python-3.x
#python-3.x
Вопрос:
Я новичок в python … кто-нибудь может сказать мне, что не так со следующим кодом? это выдает мне указанную выше ошибку
inp = input('Enter Hours: ')
inp2 = input ('Enter Rate: ')
if inp <= 0 :
print ('Please inter a valid number')
if inp <= 40 :
Hours = int (inp)
Rate = int (inp2)
Pay = inp * inp2
print ('Pay= ', pay)
elif inp > 40 :
Hours = int (inp)
Rate = int (inp2)
Pay = (inp * 10) (inp2 - 10) * (1.5)
Комментарии:
1. В какой строке возникает ошибка и что означает ошибка?
Ответ №1:
Ваши первые случаи if все еще имеют тип str
. Вы также должны преобразовать свои входные данные в an int
, прежде чем сравнивать их.
Просто взял код, который вы написали, и переместил str -> int castings
его вверх, как раз перед всеми случаями if. Теперь ваш ввод преобразуется в an int
, прежде чем он будет использован в случаях if.
Этот код будет работать нормально, если все входные данные будут гарантированно числовыми. В противном случае вам следует добавить перехват ошибок.
inp = input('Enter Hours: ')
inp2 = input ('Enter Rate: ')
Hours = int (inp)
Rate = int (inp2)
if Hours <= 0 :
print ('Please inter a valid number')
if Hours <= 40 :
Pay = Hours * Rate
print ('Pay= ', pay)
elif Hours > 40 :
Hours = int (Hours)
Rate = int (Rate)
Pay = (Hours * 10) (Rate - 10) * (1.5)