Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình kiểm tra xem danh sách có tăng và giảm xen kẽ hay không trong Python

Giả sử chúng ta có một danh sách các số được gọi là nums. Chúng ta phải kiểm tra xem danh sách có luân phiên bắt đầu từ tăng nghiêm ngặt, giảm nghiêm ngặt và sau đó tăng nghiêm ngặt hay không, v.v. Và nếu danh sách chỉ tăng lên một cách nghiêm ngặt, nó sẽ có giá trị.

Vì vậy, nếu đầu vào giống như nums =[2, 4, 8, 7, 5, 1, 5, 7, 2, 1], thì đầu ra sẽ là True, vì [2,4,8] đang tăng lên, khi đó [7,5,1] đang giảm, sau đó một lần nữa [5,7] đang tăng và [2,1] đang giảm.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • nếu nums [1] <=nums [0], thì
    • trả về Sai
  • đối với tôi trong phạm vi từ 0 đến kích thước của nums, hãy thực hiện
    • nếu tôi - 1> =0, thì
      • nếu nums [i] giống nums [i - 1], thì
        • trả về Sai
  • trả về True

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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))

Đầu vào

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

Đầu ra

True