Python “为什么要打印?”;无”;在线3

Python “为什么要打印?”;无”;在线3,python,Python,为什么第3行不打印,我能做什么?我还在努力学习,所以请保持简单 def base(): print("----|") print("|"), head() print("|") print("|") print("|") print("==========") def head(): print(" ( ) ") def arms(): print(" /|\ ") def body(): print(" | ") def legs

为什么第3行不打印,我能做什么?我还在努力学习,所以请保持简单

def base():
   print("----|")
   print("|"), head()
   print("|")
   print("|")
   print("|")
   print("==========")
def head():
    print(" ( ) ")
def arms():
    print(" /|\ ")
def body():
    print("  |  ")
def legs():
    print(" / \ ")


base()

您正在使用Python2。因此,
print
是语句。 代码是为Python3编写的,wer
print()
是一个函数。 加:

作为使其工作的代码的第一行。 否则,所有的
()
都没有效果,行:

print("|"), head()
指:

print "|", head()

它会打印
head()

的返回值,因为
head
函数返回
None
。当使用python3运行时,它不会返回该值。谢谢,我如何使head函数只返回print语句?
return“()”
@geckos:
head
正在返回
None
,与所有没有显式返回值的Python函数一样
print
也会返回
None
,但这与
head
的返回无关(因为
head
没有执行
返回打印(…)
)。Python不会使
返回值默认使用最后一个表达式的值;如果你没有显式地
返回
某个东西,你会返回
。他也会遇到换行符的问题,但我想这会在另一个问题中结束。
print "|", head()