这是我解决问题的问题:
编写一个函数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