Pregunte al usuario si desea repetir la misma tarea nuevamente.

Si el usuario llega al final del progtwig, quiero que se le pregunte si tiene alguna pregunta para preguntar si quieren volver a intentarlo. Si responden que sí quiero volver a ejecutar el progtwig.

import random print("The purpose of this exercise is to enter a number of coin values") print("that add up to a displayed target value.\n") print("Enter coins values as 1-penny, 5-nickel, 10-dime,and 25-quarter.") print("Hit return after the last entered coin value.") print("--------------------") total = 0 final_coin = random.randint(1, 99) print("Enter coins that add up to", final_coin, "cents, on per line") user_input = int(input("Enter first coin: ")) total = total + user_input if user_input != 1 and user_input!=5 and user_input!=10 and user_input!=25: print("invalid input") while total != final_coin: user_input = int(input("Enter next coin: ")) total = total + user_input if total > final_coin: print("Sorry - total amount exceeds", (final_coin)) if total < final_coin: print("Sorry - you only entered",(total)) if total== final_coin: print("correct") 

Puede incluir todo el progtwig en otro bucle while que le pregunte al usuario si desea volver a intentarlo.

 while True: # your entire program goes here try_again = int(input("Press 1 to try again, 0 to exit. ")) if try_again == 0: break # break out of the outer while loop 

Solo una mejora incremental en la respuesta aceptada: utilizada como tal, cualquier entrada no válida del usuario (como una cadena vacía, la letra “g” o algo similar) causará una excepción en el punto donde está la función int () llamado.

Una solución simple para tal problema es usar un try / except- tratar de realizar una tarea / código y si funciona, excelente, pero por lo demás (excepto aquí es como otra cosa 🙂 haga esta otra cosa.

De los tres enfoques que uno podría probar, creo que el primero a continuación es el más fácil y no bloqueará su progtwig.

 # Opt1: Just use the string value entered with one option to go again while True: # your entire program goes here try_again = input("Press 1 to try again, any other key to exit. ") if try_again != "1": break # break out of the outer while loop # Opt2: if using int(), safeguard against bad user input while True: # your entire program goes here try_again = input("Press 1 to try again, 0 to exit. ") try: try_again = int(try_again) # non-numeric input from user could otherwise crash at this point if try_again == 0: break # break out of this while loop except: print("Non number entered") # Opt3: Loop until the user enters one of two valid options while True: # your entire program goes here try_again = "" # Loop until users opts to go again or quit while (try_again != "1") or (try_again != "0"): try_again = input("Press 1 to try again, 0 to exit. ") if try_again in ["1", "0"]: continue # a valid entry found else: print("Invalid input- Press 1 to try again, 0 to exit.) # at this point, try_again must be "0" or "1" if try_again == "0": break