Как бы я спросил, хотят ли они снова рассчитать? - PullRequest
0 голосов
/ 19 января 2020

Это то, что у меня есть, но я не могу заставить работать код, который позвольте мне спросить в конце расчета, не захотят ли они сделать еще один расчет.

#_function definitions_________________________________________________________________________________________________

def validate_pay_rate(pay_rate):
    while pay_rate < 7.5 or pay_rate > 18.25:
        print ("\nERROR: You entered an invalid pay rate...")
        pay_rate = float(input("Enter employee's pay rate: $"))
    else:
        return pay_rate

def validate_hours_worked(hours_worked):
    while hours_worked <= 0 or hours_worked > 40:
        print ("\nERROR: You entered an invalid amount of work hours...")
        hours_worked = float(input("Enter hours worked: "))
    else:
        return hours_worked

def calculate_gross_pay(pay_rate, hours_worked):
    print("Gross Pay = $" + "%.2f" % float(pay_rate * hours_worked))



#_main_________________________________________________________________________________________________________________
pay_rate = float(input("Enter employee's pay rate: $"))
validate_pay_rate(pay_rate)
hours_worked = float(input("Enter hours worked: "))
validate_hours_worked(hours_worked)
calculate_gross_pay(pay_rate, hours_worked)

Ответы [ 2 ]

0 голосов
/ 19 января 2020

Если я вас правильно понял, это то, что вы хотели.

#main_____________________________________________________________________________
while True:
    pay_rate = float(input("Enter employee's pay rate: $"))
    validate_pay_rate(pay_rate)
    hours_worked = float(input("Enter hours worked: "))
    validate_hours_worked(hours_worked)
    calculate_gross_pay(pay_rate, hours_worked)
    continue_ = input("Do you want to do this again? Y/N: ")
    if continue_ == "n" or continue_ == "N":
        break
    else:
        print() # Just to get a space between each input
0 голосов
/ 19 января 2020

Положите l oop вокруг основного блока. Нечто подобное будет работать. Конечно, вы должны сделать что-то более приятное для ввода, но это минимальная версия.

#_main_________________________________________________________________________________________________________________
calculated = False
while not calculated or input("Redoo or something else (type y/n)") == "y":
    pay_rate = float(input("Enter employee's pay rate: $"))
    validate_pay_rate(pay_rate)
    hours_worked = float(input("Enter hours worked: "))
    validate_hours_worked(hours_worked)
    calculate_gross_pay(pay_rate, hours_worked)
    calculated = True
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...