|
20鱼币
1.给定一个数字列表,您可以计算一个包含每个元素与其后续元素之间差异的新列表。 例如,给定 [1, 2, 5, 3],差异列表将是 [1, 3, -2]。 自然地,新列表比原始列表少一个元素。
编写一个函数 difference(numbers) 来计算参数 numbers 的差异列表。
测试:
assert difference([1, 2, 5, 3]) == [1, 3, -2]
assert difference([3, 2, 567, 2, 45, 3, 7, 5]) == [-1, 565, -565, 43, -42, 4, -2]
2.编写另一个函数 final_difference(numbers) 重复应用差异(数字)直到只剩下 1 个数字。 然后返回该号码。
测试:
assert final_difference([1, 2, 5, 3]) == -7
assert final_difference([3, 2, 567, 2, 45, 3, 7, 5]) == -13382
好兄弟请问下这两个题怎么写,困了好久了。
- def difference(numbers):
- new_list = []
- length = len(numbers)
- for i in range(1,length):
- new_list.append(numbers[i]-numbers[i-1])
- return new_list
- def final_difference(numbers):
- new_list = []
- length = len(numbers)
- if length == 1:
- return numbers[0]
- for i in range(1,length):
- new_list.append(numbers[i]-numbers[i-1])
- return difference(new_list)
复制代码
|
|