Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 목록이 증가 및 감소를 교대로 하는지 확인하는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정합니다. 목록이 엄격하게 증가하는 것부터 시작하여 엄격하게 감소한 다음 엄격하게 증가하는 등으로 번갈아 나타나는지 확인해야 합니다. 또한 목록이 엄격하게 증가하는 경우에만 유효합니다.

따라서 입력이 nums =[2, 4, 8, 7, 5, 1, 5, 7, 2, 1]과 같으면 출력은 [2,4,8]이 증가하기 때문에 True가 됩니다. [7,5,1]이 감소하고 있다가 다시 [5,7]이 증가하고 [2,1]이 감소합니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • nums[1] <=nums[0]이면
    • 거짓을 반환
  • 0에서 숫자 크기 범위의 i에 대해
    • i - 1>=0이면
      • nums[i]가 nums[i - 1]과 같으면
        • 거짓을 반환
  • 참 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

def solve(nums):
   if nums[1] <= nums[0]:
      return False
   for i in range(len(nums)):
      if i - 1 >= 0:
         if nums[i] == nums[i - 1]:
            return False

   return True

nums = [2, 4, 8, 7, 5, 1, 5, 7, 2, 1]
print(solve(nums))

입력

[2, 4, 8, 7, 5, 1, 5, 7, 2, 1]

출력

True