我是编程新手,并且刚刚学习了python函数。我不明白为什么print(len(str))
在功能上不能与return len(str)
相同。
对于函数的最后一个语句,我尝试了print和return,并且对我对len()
的理解感到困惑。我需要一些指导,谢谢!也许有人可以指导我如何进一步完善自己的基础,因为我还是编程新手。谢谢!!
def numDigits(n):
#return number of digits in an integer
str_digits = str(n)
print(len(str_digits))
numDigits(833)
如果我更改
print
至return len(str_digits)
和
numDigits(833)
至print(numDigits(833))
,
我得到了预期的答案。
我期望的是
3
实际结果:
3
None
1
2
4
3
答案 0 :(得分:2)
在第一种情况下,numDigits
不是return
函数中的值,而只能在函数内部打印
def numDigits(n):
#return number of digits in an integer
str_digits = str(n)
print(len(str_digits))
print(numDigits(833))
这里的输出是
3
None
3
来自print
,None
来自函数,当您print
时,它会打印None
如果要返回,则需要在函数末尾添加return len(str_digits)
之类的return语句
def numDigits(n):
#return number of digits in an integer
str_digits = str(n)
print(len(str_digits))
#Return statement
return len(str_digits)
print(numDigits(833))
现在输出为
3
3
现在第一个3
来自print
,第二个3来自打印numDigits
返回的内容,即3