当前位置: 首页 > 知识库问答 >
问题:

函数调用子函数以满足条件

米项禹
2023-03-14
  1. 如果输入的len()少于10个字符,则调用子函数“tester”的默认值“太短”。

我下面的代码在一定程度上有效。我需要帮助,这样用户可以一次又一次地输入,直到他们键入'quit',在该命令终止时,终端中没有给出任何输出。传接球不起作用,我不知道该在哪里Rest。

我尝试了一段时间,真的,有回报,但我不能再跟随了。

def tester(givenstring = "Too short"):
    if givenstring == 'quit':
        print("quit successful")
    else:
        print(givenstring)

def main():
    prompt = input("Write something (quit ends): ")

    if len(prompt) >= 10 or prompt == 'quit':
        tester(prompt)
    else:
        tester()        
    

if __name__ == "__main__":
    main()

共有3个答案

韩阳云
2023-03-14

为了在条件不满足时调用默认值,我只添加了一个新参数“p”。当被询问时,循环在主功能中立即停止。

感谢所有的帮助和答案,他们真的很有帮助。看起来很酷。

def tester(p,givenstring = "Too short"):
    result=len(p)
    if result>=10:
        print(p)
    else:
        print(givenstring)

def main():
    while True:
        prompt=input("Write something (quit ends): ")
        if prompt=="quit":
            break
        else:
            tester(prompt)

if __name__ == "__main__":
    main()
刘弘新
2023-03-14

您可以在主函数中添加循环,并在找到关键字时中断循环,如下所示:

def main():
    while True:
        prompt = input("Write something (quit ends): ")

        if len(prompt) >= 10 or prompt == 'quit':
            tester(prompt)
        else:
            tester()

        if prompt == 'quit':
            break
陶高峯
2023-03-14

这是你想要的吗?

prompt = input("Write something (quit ends): ")

if prompt == "quit":
    quit()
elif len(prompt) < 10:
    print("Too Short!")
elif len(prompt) >= 10:
    print(prompt)

如果确实需要第二个函数,可以尝试以下方法:

def quit_func(givenstring):
    if givenstring == 'quit':
        print("quit successful")
        quit()

def main():
    prompt = input("Write something (quit ends): ")

    quit_func(prompt)

    if len(prompt) < 10:
        print("Too Short!")
    elif len(prompt) >= 10:
        print(prompt)      
    

if __name__ == "__main__":
    main()
 类似资料:
  • 问题内容: 使用函数生成汉明距离t内的所有位序列: 我想退出递归函数,并在发生某种情况时返回调用方函数(如果确实如此)。因此,就像我的递归功能正在听到可能告诉她退出的声音一样! 它仅在 打印后发生,这里: 如何做到这一点(停止展开递归并返回到函数调用者)? 尝试: 似乎只是阻止执行,而且永远不会结束! PS-我也有兴趣 旧的方法论。 问题答案: 要以最简单的形式显示,您可以执行以下操作: 然后,您

  • 我需要一些关于以下postgres功能的帮助 我有下表和列: 我最初在中有几个数组,然后运行一个查询(实际上是一组3个查询),选择数组,附加它们,然后将附加的数组插入表中。 我需要循环这个插入查询,直到其中一个数组()达到预定义的大小,比如长度50。 我基本上需要写一些 但是我找不到正确的语法来写这个 我http://www.postgresql.org/docs/8.4/static/plpgs

  • 问题内容: 作者:ustchcl 问题答案: 可以通过第二个参数作为寄存值实现:

  • Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/2/library/functions.html 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。 调用abs函数: >>> abs(100) 100 >

  • Python内置了很多有用的函数,我们可以直接调用。 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数。可以直接从Python的官方网站查看文档: http://docs.python.org/3/library/functions.html 也可以在交互式命令行通过help(abs)查看abs函数的帮助信息。 调用abs函数: >>> abs(100) 100 >

  • 通过循环每个资源的名称,查看分配给该人员姓名的帐户,随机选择一个,并用NA替换该人员的姓名,以减少资源分配。 可复制示例: 我到目前为止的进展: 我听说for循环是不必要的。我相信这可以通过purr包和pmap之类的东西来实现。我还在学习。 我想重复一下OwnerDF,看看那个人是否“拥有”了太多的账户。如果是,请查看原始帐户列表,随机选择一个,并将所有者的姓名替换为NA,从其计数中删除1,然后继