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