Python:创建一个表,“none”是什么意思?

时间:2011-02-24 06:57:49

标签: python

尝试构建一个基本的乘法表,并且我不断得到这些“无”。他们是什么意思,我怎么能摆脱他们?

    >>> def M(n):
...     i = 1
...     while i <= 6:
...             print i*n, '\t',
...             i = i +1
...     print

    >>> def printT():
...     w = 1
...     while w <= 6:
...             print M(w)
...             w = w + 1
... 

>>> printT()
1   2   3   4   5   6   
None
2   4   6   8   10  12  
None
3   6   9   12  15  18  
None
4   8   12  16  20  24  
None
5   10  15  20  25  30  
None
6   12  18  24  30  36  
None

3 个答案:

答案 0 :(得分:8)

仅使用print M(w)替换M(w)。您正在打印M(w)的返回值None,因为您没有从该函数返回任何内容。

答案 1 :(得分:1)

在你的函数printT()中,你的打印M(w)什么也没有返回。 python中函数的隐式返回值是None,这是循环期间打印的内容。

只需重写这样的函数:

def printT():
    w = 1
    while w <= 6:
        M(w)
        w += 1

答案 2 :(得分:1)

这&#39;没有&#39;也发生在我身上。我键入了一个函数并尝试在另一个函数中使用它。但我已经写了“打印计算”#。应该返回计算&#39;。所以第二个功能给了“没有”#39;错误。检查我的代码:

def factoriel(n):
    i = 1
    calculation = float(n)     #if there is not 'float', the type would be int

    while i < n:
        calculation = calculation * i
        i += 1
    return calculation        #it was print at first try, so i got 'none'

x = factoriel(5)

print x, type(x)              #to check the result