【发布时间】:2021-12-17 01:02:26
【问题描述】:
所以我正在尝试这样做
你将得到一个正整数 n > 0,你将构造一个由 n 行组成的模式: • 第 0 行包含 1 个数字——数字 1
• 每一行都比前一行长,并遵循随后的模式
所以如果变量n:int = 4,则输出为
[1]
[1,2]
[2,3,5]
[5,7,10,15]
当前数组中的数字被添加到前一个数组中紧接其上方的数字中,并附加到当前数组的末尾。此外,当开始一个新数组时,前一个数组的最后一个元素被视为当前数组的第一个元素。
如果我的问题不清楚,我深表歉意,但我希望在我提供的示例和解释之后,问题现在更清楚了。
这是我的代码:
def append(n: int):
for x in range(1,n+1):
return(x,x+1)
print(append(n))
当我把 n = 4 时,它似乎不起作用,这是什么问题?
【问题讨论】:
-
您的缩进已关闭;您能否编辑问题以确保您的代码块正确表示实际代码的缩进?也就是说,
return立即结束函数。并且(x, x+1)永远不会使您显示的模式(就此而言,您对产生显示模式的规则不够清楚)。 -
目前你的函数只是从循环的第一次迭代中立即返回元组
(1, 2)。您是否打算获取上述列表的列表,或者您希望如何返回这些多个元素?其他输入(例如 1 到 5)的预期输出是什么样的? -
如果 n = 5,那么预期的输出将是 [1] [1,2] [2,3,5] [5,7,10,15] [7,12,19, 29,44]
-
如果这是一个作业,那么您可能应该只包含实际作业文本,因为您对需求的描述含糊不清。
-
输出是如何计算的?