编辑:我应该补充指出,此问题的重点是在函数中使用“副作用”。
我正在我的Coursera计算机课程上提交我的代码。我想我必须失去了一些东西超明显。当我提出我的代码,我收到以下错误:
#TEST 5#
append_fibonacci(参数)返回无
**错误**副作用从:[-5、8、1]至:[-5、8、1]
* EXPECTED:* [-5,8,3]
输入:
输出:
我大多只是不明白反馈在告诉我什么。我有点新手,本月刚开始使用Python。谢谢您的帮助!
以下是我的代码:
def append_fibonacci(integer_list):
# Modify the argument list of integers by
# appending a new integer that is the sum
# of the last two integers in the list.
# If the list has fewer than two elements
# add the int object 1 to the list.
if len(integer_list) > 2:
sum_last_two = ((integer_list[-1]) + (integer_list[-2]))
integer_list.append(sum_last_two)
else:
integer_list.append(1)
def main():
# Call the append_fibonacci function on this
# list: [3, 5, 8] and output the result object
number_list = [3, 5, 8]
append_fibonacci(number_list)
print(number_list)
main()
答案 0 :(得分:1)
您收到的错误消息是说更新后的列表应为[-5, 8, 3]
,但您将其设置为[-5, 8, 1]
这是因为如果列表中的恰好 2个元素,则您的函数将无法正常工作。它应该将两个元素相加并附加总和(-5 + 8 = 3
),但是它将仅附加1
。
if len(integer_list) > 2:
应为:
if len(integer_list) >= 2: