def great(a,b,c): if(a>b and a>c): print("a is greater") elif(b>a and b>c): print("b is greater") else: print("c is greater") a=great(12,3,1) print(a)
字符串
你能解释一下为什么输出中没有打印吗?
k75qkfdt1#
在python缩进问题中,你的函数调用没有正确缩进,这就是为什么它没有打印任何东西
zc0qhyus2#
函数great()不返回任何内容。在python中,当函数中没有返回任何内容时,将返回默认值“None”。因此,当用途:a=很大(12,3,1)它返回None值。该值被赋给a。因此,当你打印a时,你得到None。查看此链接了解更多:https://realpython.com/python-return-statement/#:python:text = Implicit%20return%20Statements,-A%20Python%20function&text=That%20default%20return%20value%20will%20always%20be%20None%20.&text=If%20you%20don't% 20 supply,None%20as%20a%20return%20value.
balp4ylt3#
您提供的代码有几个问题,使其无法按预期工作。让我们一步一步地了解它们:1.压痕:代码的最后两行缩进不正确。它们是else块的一部分,这不是您想要的。您应该将它们取消缩进,使其与if和elif块处于同一级别。1.函数调用:您试图在自身内部调用great函数,这是一种递归形式。但是,您没有为递归定义基本情况,因此它将无限期运行,导致堆栈溢出错误。下面是代码的更正版本:
else
if
elif
great
def great(a, b, c): if a > b and a > c: print("a is greater") elif b > a and b > c: print("b is greater") else: print("c is greater") great(12, 3, 1)
字符串通过这些修改,代码应该可以正常工作了。当你用值(12,3,1)调用great函数时,它会正确识别“a is greater”并打印出该消息。
3条答案
按热度按时间k75qkfdt1#
在python缩进问题中,你的函数调用没有正确缩进,这就是为什么它没有打印任何东西
字符串
zc0qhyus2#
函数great()不返回任何内容。在python中,当函数中没有返回任何内容时,将返回默认值“None”。因此,当用途:
a=很大(12,3,1)
它返回None值。该值被赋给a。因此,当你打印a时,你得到None。
查看此链接了解更多:
https://realpython.com/python-return-statement/#:python:text = Implicit%20return%20Statements,-A%20Python%20function&text=That%20default%20return%20value%20will%20always%20be%20None%20.&text=If%20you%20don't% 20 supply,None%20as%20a%20return%20value.
balp4ylt3#
您提供的代码有几个问题,使其无法按预期工作。让我们一步一步地了解它们:
1.压痕:代码的最后两行缩进不正确。它们是
else
块的一部分,这不是您想要的。您应该将它们取消缩进,使其与if
和elif
块处于同一级别。1.函数调用:您试图在自身内部调用
great
函数,这是一种递归形式。但是,您没有为递归定义基本情况,因此它将无限期运行,导致堆栈溢出错误。下面是代码的更正版本:
字符串
通过这些修改,代码应该可以正常工作了。当你用值(12,3,1)调用
great
函数时,它会正确识别“a is greater”并打印出该消息。