为啥在输出中打印“无”? [复制]
Posted
技术标签:
【中文标题】为啥在输出中打印“无”? [复制]【英文标题】:Why is this printing 'None' in the output? [duplicate]为什么在输出中打印“无”? [复制] 【发布时间】:2015-05-02 23:39:08 【问题描述】:我定义了一个函数如下:
def lyrics():
print "The very first line"
print lyrics()
但是为什么输出返回None
:
The very first line
None
【问题讨论】:
【参考方案1】:因为有两个打印语句。一是内部功能,二是外部功能。当函数不返回任何内容时,它会隐式返回None
。
在函数末尾使用return
语句返回值。
例如:
返回None
。
>>> def test1():
... print "In function."
...
>>> a = test1()
In function.
>>> print a
None
>>>
>>> print test1()
In function.
None
>>>
>>> test1()
In function.
>>>
使用返回语句
>>> def test():
... return "ACV"
...
>>> print test()
ACV
>>>
>>> a = test()
>>> print a
ACV
>>>
【讨论】:
嘿,你能告诉我代码有什么问题吗?它只返回最后一位 def another(n): rev = 0 while(n>=0): rem=n%10 rev = (10*rev)+ n%10 n //= 10 return rev print another(2154)输出:4 @def_0101:好的,你在做什么?倒数?? 是反向整数 @def_0101:def another(n): rev = 0 while(n!=0): rev = rev*10 + n%10 n //= 10 return rev
check .. 在下一条评论中添加解释。
@def_0101:对于 Reverse,我们需要从最后一个到第一个的数字中获取数字,并通过将这些数字与 0、10、100、1000 的倍数相加来创建新数字... 1. 如何获取最后一位:使用%
操作获取您完成的最后一位。 2.将输入数字减少/
除10,这也你完成了。 3.通过将%
运算的结果添加到10的倍数的反向数字来创建反向数字。让我知道【参考方案2】:
由于双重打印功能。我建议你在函数定义中使用return
而不是print
。
def lyrics():
return "The very first line"
print(lyrics())
或
def lyrics():
print("The very first line")
lyrics()
【讨论】:
有没有其他方法可以使用 print 语句? 只需lyrics()
就足够了。
谢谢 () 我是菜鸟,对编程很陌生以上是关于为啥在输出中打印“无”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 python 中,为啥列表与列表 [:] 不同? [复制]