def Calc_Salary(x,y):
Pay = x*y
return Pay
def Calc_with_bonus(c,d):
bonus = c+d
return bonus
hours = raw_input('Number of hours')
rate = raw_input('Rate per hour')
if hours >= 40:
extras = ((float(hours)-40)*float(rate)*1.5)
regular = float(rate)*40
print Calc_with_bonus(extras,regular)
elif hours < 40:
print Calc_Salary(hours,rate)
raw_input()
Пожалуйста, помогите, я много раз пересматривал программу, и все кажется правильным. Когда часы превышают 40, он будет рассчитывать бонус в течение часов более 40 и обычной ставки в течение часов до 40, добавлять их и давать правильный результат. Однако, если часов меньше 40, все, что нужно сделать, это позвонить и умножить hours*rate
, что и делает, но, например, если вы вводите часы = 10 * rate = 10, а не 100, он вычисляет -50, пожалуйста, помогите :(Результаты неправильного умножения Python
Что делает последний 'raw_input()' do? –
'raw_input()' читает ваш ввод как строки, поэтому '' 10 '> = 40' возвращает 'True' и вы нажимаете первый блок оператора if. –
Когда вы дважды щелкаете по программе, введите часы и скорость, он выполняет свою работу очень быстро и закрывается по завершении, что мешает пользователю видеть результат, так как он выполняется слишком быстро, поэтому raw_input() заставляет python оставаться открытым до тех пор, пока вы не нажмете «Enter» –