为什么会出现“无”字样?在输出中?

时间:2014-10-13 20:39:32

标签: python function nonetype

我的程序shell显示一个网格,我的程序有很多相互调用的函数。我的问题是我的输出中有3个Nones显示。我可以想象它是因为在funtionname之后的括号中没有写入任何参数而不是do_twice和do_fourth。但我不需要参数,因为我编写了一个函数,最后执行函数do_quater。所以我不知道我是否应该在我的函数中声明一个变量来暗示None。

def do_twice(f):
    f()
    f()


def do_fourth(f):
    do_twice(f)
    do_twice(f)

def do_row():
    print '+----',
    print '+'



def do_worms():
    print '|    |'
    print '|    |'
    print '|    |'
    print '|    |'


def do_wormsr():
    print      '|    |'
    print      '|    |'
    print      '|    |'
    print      '|    |'

def do_row():
    print '+----',
    print '+'

def do_worms():
    print '|    |'
    print '|    |'
    print '|    |'
    print '|    |'


def do_wormsr():
    print      '|    |'
    print      '|    |'
    print      '|    |'
    print      '|    |'


def do_row():
    print '+----',
    print '+'

def do_row():
    print '+----',
    print '+'



def do_quarter():
    print do_row()
    print do_worms()
    print do_wormsr()
    print do_row()
    print do_worms()
    print do_wormsr()
    print do_row()

1 个答案:

答案 0 :(得分:2)

默认情况下,任何没有return value的python函数都会return None,所以当你print do_row()等时......你会在打印输出后获得None

不确定您要打印的是什么,但您需要按照以下方式执行操作以从输出中删除“无”:

def do_row():
    return '+----+'