Python 判断数组类型并预测下一个值:等差、等比、递推
要判断输入的数组是等差数列、等比数列、和递推、差递推还是积递推,可以通过计算数组的差值、比值或者相邻元素的和、差、积来判断。
下面是使用Python编写的示例代码:
def check_progression(arr):
# 判断等差数列
if arr[1] - arr[0] == arr[2] - arr[1]:
diff = arr[1] - arr[0]
next_val = arr[-1] + diff
return '等差数列,下一个数值为:' + str(next_val)
# 判断等比数列
elif arr[1] / arr[0] == arr[2] / arr[1]:
ratio = arr[1] / arr[0]
next_val = arr[-1] * ratio
return '等比数列,下一个数值为:' + str(next_val)
# 判断和递推
elif arr[2] - arr[1] == arr[1] - arr[0]:
diff = arr[1] - arr[0]
next_val = arr[-1] + diff
return '和递推,下一个数值为:' + str(next_val)
# 判断差递推
elif arr[2] - arr[1] == arr[0] - arr[1]:
diff = arr[2] - arr[1]
next_val = arr[-1] - diff
return '差递推,下一个数值为:' + str(next_val)
# 判断积递推
elif arr[1] / arr[0] == arr[0] / arr[1]:
ratio = arr[1] / arr[0]
next_val = arr[-1] / ratio
return '积递推,下一个数值为:' + str(next_val)
else:
return '不是等差数列、等比数列、和递推、差递推或者积递推。'
# 测试例子
arr1 = [1, 3, 5, 7, 9] # 等差数列,差为2
arr2 = [2, 4, 8, 16] # 等比数列,比为2
arr3 = [1, 2, 4, 7, 11] # 和递推,差为3
arr4 = [7, 4, 1, -2] # 差递推,差为-3
arr5 = [1, 2, 4, 8] # 积递推,比为2
print(check_progression(arr1))
print(check_progression(arr2))
print(check_progression(arr3))
print(check_progression(arr4))
print(check_progression(arr5))
输出结果:
等差数列,下一个数值为:11
等比数列,下一个数值为:32.0
和递推,下一个数值为:16
差递推,下一个数值为:-5
积递推,下一个数值为:16.0
根据输入的数组,输出了判断结果以及接下来的数值。
原文地址: https://www.cveoy.top/t/topic/qkrg 著作权归作者所有。请勿转载和采集!