你的代码有几个问题:

  1. 循环的位置不正确,应该放在判断条件之外,否则循环只会执行一次。
  2. 在判断条件中应该使用 and 连接两个条件,而不是使用 or 连接。
  3. 在判断条件中应该使用 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
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

原文地址: https://www.cveoy.top/t/topic/i7D9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录