Python程序:检查序列是否能构成等差数列
假设我们有一个名为nums的数字列表。我们必须检查nums中存在的元素是否构成等差数列。众所周知,在等差数列中,任何两个连续元素之间的公差都是相同的。
因此,如果输入类似于nums = [9,1,17,5,13],则输出将为True,因为如果我们对它们进行排序,它将是[1,5,9,13,17],并且这里每对元素的公差都是4。
为了解决这个问题,我们将遵循以下步骤:
nums := 对列表nums进行排序
如果nums中的元素个数 > 1,则
const := nums[1] - nums[0]
否则,
返回True
对于i从0到nums的大小-1,执行以下操作:
如果nums[i+1] - nums[i]与const不同,则
返回False
返回True
示例(Python)
让我们看看下面的实现来更好地理解:
def solve(nums): nums = sorted(nums) if len(nums) > 1: const = nums[1] - nums[0] else: return True for i in range(len(nums)-1): if nums[i+1] - nums[i] != const: return False return True nums = [9,1,17,5,13] print(solve(nums))
输入
[9,1,17,5,13]
Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.
输出
True
广告