def peakFinder_1array arrayappend-10 i=0; while ilenarray-1 if arrayi=arrayi-1 and arrayi=arrayi+1 return arrayi i+=1代码搞一个input让输入输入为数组输出为数值例如输入为02567139输出为7
你的代码有几个问题:
- 循环的位置不正确,应该放在判断条件之外,否则循环只会执行一次。
- 在判断条件中应该使用 and 连接两个条件,而不是使用 or 连接。
- 在判断条件中应该使用 i<len(array)-1,而不是 i< len(array)。
以下是修改后的代码:
def peakFinder_1(array):
array.append(-10)
i = 0
while i < len(array)-1:
if array[i] >= array[i-1] and array[i] >= array[i+1]:
return array[i]
i += 1
input_array = [0, 2, 5, 6, 7, 1, 3, 9]
output = peakFinder_1(input_array)
print(output)
输出结果为:
7
原文地址: https://www.cveoy.top/t/topic/i7D9 著作权归作者所有。请勿转载和采集!