python - 数组python中2个相邻元素的平均值
问题描述
我正在尝试编写一个程序来打印数组中的元素是否是其 2 个邻居的平均值。假设我有一个数组,其中包含[1,3,5,7,12,21]
3 是 1+5 的平均值,5 是 3+7 的平均值。我在里面和里面for i in arr:
使用。除了当我尝试运行它时,它说索引超出范围......我假设它是因为低于和高于但我想如果我放入条件它不会计算它们两个。否则我该如何处理这段代码?我的代码:if i>arr[0] and i<arr[-1]
if i == (arr[i-1]+arr[i+1])/2:
i-1
arr[0]
i+1
arr[-1]
if i>arr[0] and i<arr[-1]
arr = []
while True:
x = input("Enter numbers, type ''STOP'' to stop.\n")
if x.upper() == "STOP":
break
x=int(x)
arr.append(x)
for i in range(len(arr)):
if 0 < i < len(arr)-1:
if arr[i] == (arr[i-1]+arr[i+1])//2:
print(arr[i], "is the average of its neighbours")
解决方案
在条件if i == (arr[i-1]+arr[i+1])/2:
i 是数组项的值而不是索引。因此,当我变为 12 或 21 时,它会超出 arr 的索引范围。相反,您可以使用它for i in range(len(arr)):
来获取索引。
推荐阅读
- amazon-web-services - 如何查看弹性beantalk实例的公共IP地址以将mongodb atlas列入白名单
- python - 按 ip 地址对元组列表进行排序
- javascript - 替代 flexDirection : '行'
- python - 如何在 np.float64 中找到任意数字的下一个或上一个数字?
- php - 将html代码转换为纯文本时出现问题
- android - React-native run-android 命令不起作用
- reactjs - 两个 div 之间的反应弹簧过渡中的生涩运动
- salesforce - 如何在 Salesforce 中创建一个自动填充任何依赖对象的对象?
- vim - 使用 Vlime 将 Vim 连接到 SBCL 时出现“SB-KERNEL:UNKNOWN-PARSE-TYPE”
- hibernate - 有没有办法让悲观和乐观锁定在 Hibernate 中工作