簡體   English   中英

我怎么會問他們是否要重新計算?

[英]How would I ask if they want to calculate again?

到目前為止,這是我所擁有的,但我似乎無法讓代碼起作用,讓我在計算結束時詢問他們是否想再次進行計算。

#_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)

在主塊周圍放置一個循環。 像這樣的事情會起作用。 您當然應該為輸入做一些更好的事情,但那是最小版本。

#_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

如果我理解正確,這就是你想要的。

#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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM