Python 中的函数不产生输出?

Function in Python not producing output?

每当我输入以下代码时:

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,输出“10”

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

print ("Hello World") 

并尽职尽责地得到了输出结果,即 hello world 从 IDLE shell.

中显示在一个新的 window 中

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

您已调用 in_fridge 但您尚未对结果执行任何操作。您可以打印它,例如:

result = in_fridge()
print(result)

您没有打印 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())

你必须打印它,因为在 IDLE 中,如果 return 没有存储在变量中,它会显示在控制台上。当 运行 一个脚本时不会发生这种情况,在脚本中,如果某个函数 return 编辑了某些内容,您需要捕获它。使用像 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)

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

print(in_fridge())