2015-01-17 40 views
1

的任务是:pyschool主题4,Q 1

创建函数generateNumbers(NUM),在正数取为参数,并从0返回号码的列表到该号码的包容性。注意:功能范围(5)将返回一个数字[0,1,2,3,4]的列表。

我的代码:

def generateNumber(num): 
    numbers = [] 
    for x in range(num): 
     numbers.append(range(num+1)) 
     return numbers 

有什么不对?它返回您正在使用冗余看起来像[[0,1,2,3,4]]"[]"generatenumber(0)它返回一个None列表...

+0

什么是追加'range'对象添加到列表的目的是什么?另外,你的'return'被错误地缩进,循环没有任何意义。 – TidB

回答

1

range

你必须做的,而不是

def generateNumber(num): 
    numbers = [] 
    for x in range(num+1): 
     numbers.append(x) 
    return numbers   #Note where the return is 

否则最好可以做的是

def generateNumber(num): 
     return (list(range(num+1))) 

两者都会给你想要的结果

+0

谢谢,这非常有帮助! –

0

您可以尝试

def generateNumber(num):  
    return range(num + 1) 
+0

嗨dtara,欢迎来到Stack Overflow。你的答案中的代码可能是正确的,但在某些情况下它会是更好的答案;例如,您可以解释如何以及为什么这个提议的变更可以解决提问者的问题,或许还包括指向相关文档的链接。这将使它对他们更有用,而且对寻求类似问题解决方案的其他网站读者也更有用。 –