在 Python 中动态更改代码流程

问题描述 投票:0回答:2

所以我正在编写这个计算器程序,最后我想给用户一个选项来再次运行它或关闭程序。

我以为有一个“goto”功能,但显然不存在。

我尝试过的:

if operator == "+":
    answer = number1 + number2
    print("") #line break
    print(f"the answer is {answer}")
    
redoq=input(print("would you like to redo? (y/n):"))
if redoq == "y" or "Y":
    goto(start)

if redoq == "n" or "n":
    print("Okay! This window will now close.")
    time.sleep(5)

发生了什么:

> "goto" is not defined
python goto
2个回答
0
投票
如今,

GOTO
不被认为是好的做法 - 参见此处。 Python 没有内置的 goto。出于您的目的,您可以使用另一个辅助函数来递归调用主函数,直到您想要退出为止。请参阅下面的示例:

def foo():
    print("foo ran")
    
def call_foo():
    foo()
    
    check = input("Repeat?")
    if check == "y":
        call_foo()
    else:
        print("exiting...")
        return

0
投票

使用它并使文件自行运行,这应该可以使其工作。

exec(open('calculatorprogram.py').read())

您也可以将其设为函数:

def calculatorprog():
##main program goes here
    repeat = input("Redo? y/n ")
    if repeat in "y", "Y":
        calculatorprog()
    else:
        break
© www.soinside.com 2019 - 2024. All rights reserved.