python中的函数不产生输出?

时间:2016-12-05 12:48:20

标签: python function shell python-idle

每当我输入以下代码时:

Dim objWord As Object
Dim objDoc As Object

Set objWord = CreateObject(“Word.Application”)
Set obj­Doc = objWord.Documents.Open "N:\MHBS\Education and Employment\VR Reports\VRU REFERALS\Past Years Referrals\User Guide to VR Referrals.docx"

进入IDLE,输出“10”。

当我在代码编辑器中输入相同的代码然后按F5时,不会输出任何内容。作为测试,我在代码编辑器中创建了一个新文件,输入:

def in_fridge():
    try:
        count =fridge [wanted_food]
    except KeyError:
        count =0
    return count

fridge ={"apples":10, "oranges":3, "milk":9}
wanted_food="apples"
in_fridge()

并尽职尽责地得到输出的结果,即从IDLE shell在新窗口中显示hello world。

所以我很好奇为什么我在IDLE环境中显示的值而不是代码编辑器,当我输入完全相同的代码时:(

4 个答案:

答案 0 :(得分:5)

您已拨打in_fridge,但您没有对结果做任何事情。你可以打印它,例如:

result = in_fridge()
print(result)

答案 1 :(得分:4)

你必须打印它,因为在IDLE中,如果没有存储在变量中,则返回显示在控制台上。运行脚本时不会发生这种情况,如果某个函数返回了需要捕获的内容,则在脚本中运行。使用=result_of_func = function_name()运算符,然后打印该变量print(result_of_func)中存储的值

这将有效:

def in_fridge():
    try:
        count =fridge [wanted_food]
    except KeyError:
        count =0
    return count

fridge ={"apples":10, "oranges":3, "milk":9}
wanted_food="apples"
print (in_fridge())

或者:

in_fridge_count = in_fridge()
print ('Count in fridge is : ',in_fridge_count)

答案 2 :(得分:2)

你没有引用in_fridge电话的结果,你应该打印它:

def in_fridge():
    try:
        count =fridge [wanted_food]
    except KeyError:
        count =0
    return count

fridge ={"apples":10, "oranges":3, "milk":9}
wanted_food="apples"
print(in_fridge())

答案 3 :(得分:1)

要显示输出,您需要打印它:

print(in_fridge())