【问题标题】:code does not work in sublime text when using function with "return" statement [duplicate]使用带有“return”语句的函数时,代码在崇高文本中不起作用[重复]
【发布时间】:2022-08-17 09:40:07
【问题描述】:

我是 python 编程的新手,作为初学者,我想从使用代码编辑器开始, 我选择 sublime text 4 但我遇到了这个问题, 所以请帮助我! 这是代码:

def return_string(your_string):
    if len(your_string) >= 4:
        new_string = your_string[0:2] + your_string[-2:]
        return new_string
    elif len(your_string) == 2:
        new_string = your_string * 2
        return new_string
    elif len(your_string) < 2:
        new_string = \"\"
        return new_string

return_string(\"welcome\")**

预期的输出是\"weme\",但我在崇高的文本输出中什么也没得到(当我点击Ctrl + B)。

当我将return 更改为print 时,代码会正确执行。

顺便说一句,上面的代码适用于代码没有任何问题。

    标签: python python-3.x sublimetext4


    【解决方案1】:

    Python 通常不会在 REPL 之外打印,除非您明确告诉它这样做。在最后一行添加对 print 的调用:

    print(return_string('welcome'))
    

    这就是为什么在您的函数中添加显式 print 有效的原因。

    如果要在其他地方使用它,可以先将值存储到变量中:

    result = return_string('welcome')
    print(result)
    

    【讨论】:

    • 请我需要澄清一下,为什么代码在 vscode ide 中使用 return 语句正确执行并且只调用函数而不打印它只是通过键入 _______return_string("welcome")_______
    • @The_Inquisitive。运行脚本时,VS 代码可能会输出最后一条语句的结果
    【解决方案2】:

    因为“返回字符串”返回一个字符串,所以您必须先将数据保存在一个变量中,然后您可以稍后在程序中使用该变量。

    result_string = return_string("welcome")
    print(result_string)
    

    【讨论】:

    • 你不需要保存任何东西,你可以直接打印
    • 我相信将响应保留为变量将使以后更容易使用。如果我们只是打印它,我将不得不同意你的看法。
    • 我的观点是,你给出的为什么它不打印的解释与实际原因完全无关
    猜你喜欢
    • 2014-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    • 1970-01-01
    相关资源
    最近更新 更多