为什么打印此代码
您好
无
无
def begin ():
print("Type new to start a new game or load to load the previous game")
print prompt_start()
def start ():
print("hello")
def prompt_start ():
prompt_0 = raw_input("Type command:")
if prompt_0==("new"):
print start()
elif prompt_0==("load"):
load()
else:
print("read instructions!")
print prompt_start
begin()
请给出解决方案,因为我无法弄清楚出了什么问题
答案 0 :(得分:2)
因为每个函数都有一个隐式return None
,所以prompt_start()
函数会返回None
。 print prompt_starts()
打印函数调用返回的内容:None
。
答案 1 :(得分:1)
这是因为你的功能prompt_start()
和prompt_start()
不会返回任何内容。因此,当您编写print prompt_start()
时,Python会评估您的函数,然后尝试打印其结果(在您的情况下为None
,因为它不会返回任何内容)。
以下是无法打印None
的代码:
def begin ():
print("Type new to start a new game or load to load the previous game")
prompt_start()
def start ():
print("hello")
def prompt_start ():
prompt_0 = raw_input("Type command:")
if prompt_0==("new"):
print start()
elif prompt_0==("load"):
load()
else:
print("read instructions!")
prompt_start() # <- missing parens to call the function
begin()