Python 3.x 如何停止我的功能?

Python 3.x 如何停止我的功能?,python-3.x,break,Python 3.x,Break,当满足条件时,如何使函数停止? 例如,在我下面的代码中,当用户为(退出)输入:“q”时,我希望我的函数简单地停止。 我尝试使用“break”语句,但它不起作用 def main(): shape = input("Enter shape to draw (q to quit): ").lower() while shape != 'triangle' and shape != 'square' and shape != 'q': print("Unknow

当满足条件时,如何使函数停止? 例如,在我下面的代码中,当用户为(退出)输入:“
q
”时,我希望我的函数简单地停止。 我尝试使用“
break
”语句,但它不起作用

def main():
    shape = input("Enter shape to draw (q to quit): ").lower()
    while shape != 'triangle' and shape != 'square' and shape != 'q':
            print("Unknown shape. Please try again")
            shape = input("Enter shape to draw (q to quit): ").lower()
    if shape == "q":
        print("Goodbye")  
        break #Python not happy with the indentation.

def get_valid_size():
    size = int(input("Enter size: "))
    while size < 1:
        print("Value must be at least 1")
        size = int(input("Enter size: "))
main()
get_valid_size()
def main():
shape=input(“输入要绘制的形状(q要退出):”)。lower()
而形状三角形和形状正方形和形状!='q':
打印(“未知形状。请重试”)
shape=input(“输入要绘制的形状(q要退出):”)。lower()
如果形状=“q”:
打印(“再见”)
break#Python对缩进不满意。
def get_有效大小():
size=int(输入(“输入大小:”)
当尺寸小于1时:
打印(“值必须至少为1”)
size=int(输入(“输入大小:”)
main()
获取有效的\u大小()
当我运行它时,它执行:

输入要绘制的形状(q退出):q
再见
输入大小:

我不希望它询问大小。

将退出一个函数,将控制权返回到最初调用该函数的位置。如果你想了解更多,谷歌的短语是“返回声明”

break
将退出循环

尝试以下方法:

def main():
    shape = input("Enter shape to draw (q to quit): ").lower()
    while shape != 'triangle' and shape != 'square' and shape != 'q':
            print("Unknown shape. Please try again")
            shape = input("Enter shape to draw (q to quit): ").lower()
    if shape == "q":
        print("Goodbye")  
        return
    get_valid_size()

def get_valid_size():
    size = int(input("Enter size: "))
    while size < 1:
        print("Value must be at least 1")
        size = int(input("Enter size: "))
main()
def main():
shape=input(“输入要绘制的形状(q要退出):”)。lower()
而形状三角形和形状正方形和形状!='q':
打印(“未知形状。请重试”)
shape=input(“输入要绘制的形状(q要退出):”)。lower()
如果形状=“q”:
打印(“再见”)
返回
获取有效的\u大小()
def get_有效大小():
size=int(输入(“输入大小:”)
当尺寸小于1时:
打印(“值必须至少为1”)
size=int(输入(“输入大小:”)
main()

break
仅用于退出
for
循环、
while
循环和
try
循环


return
将使用指定值退出函数。简单使用
return
将返回
None
值,而使用
return True
return False
将分别返回True和False。你也可以返回一个变量,例如,要返回一个变量
x
,你可以使用
returnx

你说的停止是什么意思?@XiaotianPei我对这段代码有一个延续。当用户输入“q”时,我不希望函数继续进行延续。我不知道如何用编程的方式来解释它。澄清说明:从技术上讲,它不会返回变量“x”,而是返回存储在“x”中的值。不幸的是,程序仍然不能按预期工作。它仍在继续进行下一步,而实际上它不应该这样做。我编辑了我的文章来展示程序的延续。这是因为你组织代码的方式。您正在调用main(),然后(一旦main完成并从中返回控件),您将调用get\u valid\u size()。我建议在检查后调用get_valid_size from INSIDE main()。这有意义吗?我更新了答案以反映我所说的内容。最后,你会想完全重写这段代码。顺便说一句,你应该花一些时间阅读“控制流”(controlflow),以便更好地理解如何像计算机一样在头脑中遍历程序!这将使自己解决这类问题变得容易得多。