为了账号安全,请及时绑定邮箱和手机立即绑定

如何将break语句从函数发送到while循环?

如何将break语句从函数发送到while循环?

慕标琳琳 2021-09-11 17:41:21
我试图反复要求用户输入一个字符串。如果该字符串是“bye”,则程序应返回“Bye”并终止。我不知道如何让决定函数告诉 while 循环是时候终止了。def decide(greeting):    if greeting == "hi":        return "Hello"    elif greeting == "bye":        return "Bye"x = input("Insert here: ")while True:    print(decide(x))    x = input("Insert here: ")编辑:评论中的人说在 while 循环中使用条件来检查返回值。我不能这样做,因为实际上返回的值"Bye"存储在局部变量中。这两个函数实际上在一个类中,我更喜欢在条件语句上保持 while 循环较短。
查看完整描述

2 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

您可以在函数中进行打印并在 while 循环中检查其输出:


def decide(greeting):

    if greeting == "bye":

        print("Bye")

        return False  # only break on "bye";

    elif greeting == "hi":

        print("Hello")

    return True


while True:

    x = input("Insert here: ")

    if not decide(x):

        break

基于澄清的问题进行编辑(在您的函数中没有打印)。您的函数可以有多个输出,例如:


def decide(greeting):

    if greeting == "bye":

        return "Bye", False  # return reply and status;

    elif greeting == "hi":

        return "Hello", True

    else:

        return greeting, True  # default case;


while True:

    x = input("Insert here: ")

    reply, status = decide(x)

    print(reply)

    if not status:

        break


查看完整回答
反对 回复 2021-09-11
?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

你可以试试这个:


def decide(greeting):

    if greeting == "hi":

         return "Hello"

    elif greeting == "bye":

        return "Bye"


x = input("Insert here: ")


while True:

    n = (decide(x))

    print(n)


    if(n == "Bye"):

        break


    x = input("Insert here: ")


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号