Jestem nowy w Pythonie i wciąż próbuję wymyślić podstawy. Szukałem odpowiedzi online, ale żadne rozwiązania nie działają dla mnie. Nie wiem, czy brakuje mi czegoś małego, czy moja całkowita struktura jest błędna. Część obliczania mojego kodu działa jak powinna.

Mój problem polega na tym, że nie mogę wymyślić, jak poprosić użytkownika o wejście tak lub żadnego wyniku:

(Odpowiedź Tak Ponowne ponowne uruchomienie pętli, aby użytkownik mógł spróbować kolejnej kalkulacji)

(Odpowiedź bez zamykania pętli / zakończenia programu)

Daj mi znać, co sugerujesz!

    play = True

while play:

    hours = float(input("Please enter the number of hours worked this week: "))
    rate = float(input("Please enter your hourly rate of pay: "))

    #if less than 40 hrs
    if hours <= 40:
        pay = hours * rate
        print "Your pay for this week is",pay

    #overtime 54hrs or less   
    elif hours > 40 < 54:
        timeandhalf = rate * 1.5
        pay = (40 * hours * rate) + ((hours - 40) * timeandhalf)
        print "Your pay for this week is",pay 

    #doubletime more than 54hrs        
    elif hours > 54:
        timeandhalf = rate * 1.5
        doubletime = rate * 2
        pay = (40 * hours * rate) + ((hours - 40) * timeandhalf) + ((hours - 54) * doubletime)
        print "Your pay for this week is",pay    


    answer = (input("Would you like to try again?: "))
    if str(answer) == 'yes':
        play = True
    else:
        play = False
2
Savannah Nicole 26 czerwiec 2017, 03:13

3 odpowiedzi

Najlepsza odpowiedź

Myślę, że powinieneś poprosić użytkownika o wejście tak lub nie, aż to zrobi.

while play:
    # Here goes your code

    while True:
        answer = input("Would you like to try again? Yes or No?").lower()
        if answer in ('yes', 'no'):
            break

    play = answer == 'yes'
0
Igor Yudin 26 czerwiec 2017, 00:31