How to loop back to the beginning of a programme - Python [duplicate]

送分小仙女□ 提交于 2021-01-07 08:13:33

问题


I've written a BMI calculator in python 3.4 and at the end I'd like to ask whether the user would like to use the calculator again and if yes go back to the beginning of the code. I've got this so far. Any help is very welcome :-)

#Asks if the user would like to use the calculator again
again =input("Thank you again for using this calculator, would you like to try again? Please type y for yes or n for no-")

while(again != "n") and (again != "y"):
    again =input("Please type a valid response. Would you like to try again? Please type y for yes or n for no-")

if again == "n" :
    print("Thank you, bye!")

elif again == "y" :

....


回答1:


Wrap the whole code into a loop:

while True:

indenting every other line by 4 characters.

Whenever you want to "restart from the beginning", use statement

continue

Whenever you want to terminate the loop and proceed after it, use

break

If you want to terminate the whole program, import sys at the start of your code (before the while True: -- no use repeating the import!-) and whenever you want to terminate the program, use

sys.exit()



回答2:


You just need to call the function if the user wants to start again:

def calculate():
    # do work
    return play_again()


def play_again():
    while True:
        again = input("Thank you again for using this calculator, would you like to try again? Please type y for yes or n for no-")
        if again not in {"y","n"}:
            print("please enter valid input")               
        elif again == "n":
            return "Thank you, bye!"
        elif again == "y":
            # call function to start the calc again
            return calculate()
calculate()


来源:https://stackoverflow.com/questions/28254807/how-to-loop-back-to-the-beginning-of-a-programme-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!