2016-03-02 58 views
-1

我有一块应被打印数的代码。但它会打印出“无”,以及我预计要打印的数字。这里是一个应该产生,在最后一行代码3.Python--打印结果示出“无”和期望的结果

mylist=[] 
def number_replied(user): 
    for z in task1dict: 
     if user in task1dict[z]: 
      mylist.append(z) 

def how_many_replied_to(username): 
    del(mylist[:]) 
    number_replied(username) 
    print(len(mylist)) 

print(how_many_replied_to('joeclarkphd')) 

这应该产生的结果,“3”的片段,只是数字,但它显示“无”,一个换行符,“ 3" 。有什么我需要添加或更改?让我知道你是否需要更多的代码。

+2

将print(len(mylist))更改为'return len(mylist)'您的函数默认返回None,因为您没有return语句 –

+0

http://stackoverflow.com/questions/34404947的重复项/我的功能 - 回报 - 无 – Prune

回答

0

函数返回None,除非他们有获取函数体执行的return something_that_is_not_none声明。

要打印在函数的值,返回None,然后打印在调用者返回值。

0

继上一个答案之后,将第二个函数的最后一行从print(len(mylist))更改为return len(mylist),那么您就很好。