CS 圈子 - 蟒蛇 - 列表 - 这是自然运动



这是我解决问题的问题:

编写一个函数naturalNumbers,该函数将正整数n作为输入,并返回由第一个N自然数组成的列表[1, 2, ...]

这是我到目前为止的代码:

def naturalNumbers(x):
   x = input()
   myList = []
   for i in range (0, x):
      return myList = myList + [i]
      print(myList)

我真的很困惑何时将return用于功能。

您的工作非常努力函数range()返回一个可铸造的对象,因此您需要做的就是

def naturalNumbers(x):
    return list(range(1,x + 1)) #didnt notice we are in python 3

0不被视为自然数

您正在混合您的'主'代码和被要求写的功能。

让您的功能仅适用于生成函数naturalNumbers的列表。并使用不同的主要功能。

您可以忽略主方法,如果__name__ = '__main__'这只是以良好的形式正确运行。

# this method outputs a list from 0 to x
def naturalNumbers (x):
    l = list[]
    for i in range(0, x+1):
        list.append(i)
    return l
def main():
    x = input()
    # should check if x is an integer (defensive programming)
    print (naturalNumbers(x))
if __name__ = "__main__"
    main()
  • 也取决于使用的定义自然数可以启动表格0或1

返回是函数的输出。没有返回,该函数不会"回馈"任何所谓的函数。

def naturalNumbers(n):
  return [x for x in range(0,n)]
print(naturalNumbers(5))

上面的打印语句使用自然数的输出,并将打印[0,1,2,3,4]。

说我们删除了申报表,然后将其分配给一个值。

def naturalNumbers(n):
  numbers = [x for x in range(0,n)]
  #assignment rather than return, we could do other operations.
print(naturalNumbers(5))
#returns None

上面的打印语句打印"无",因为这是python中的默认返回值

def naturalNumbers(n):
    n = input()
    myList = []
    for i in range(1, n + 1):
        myList.append(i)
    return myList

或使用列表理解

def naturalNumbers(n):
    n = input()
    myList = [i for i in range(1, n + 1)]
    return myList

return是函数的末尾,它应该在循环之外。

尝试以下简单方法:

def naturalNumbers(n):
   myList = []
   for i in range(0,n):
      myList = myList+[i+1]
   return myList

最新更新