Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมตรวจสอบ 1s ทั้งหมดมีอยู่ทีละรายการหรือไม่ใน Python


สมมติว่าเรามีรายการตัวเลขที่เรียกว่า nums ที่มีอย่างน้อยหนึ่งองค์ประกอบที่มีค่าเป็น 1 เราต้องตรวจสอบว่า 1 ทั้งหมดปรากฏติดต่อกันหรือไม่

ดังนั้น หากอินพุตมีค่าเท่ากับ nums =[8, 2, 1, 1, 1, 3, 5] ผลลัพธ์จะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เข้าชมแล้ว :=0

  • สำหรับแต่ละ x เป็นตัวเลข ทำ

    • ถ้า x เท่ากับ 1 แล้ว

      • หากเข้าชมเหมือนกับ 2 แล้ว

        • คืนค่าเท็จ

      • เข้าชมแล้ว :=1

    • มิฉะนั้นเมื่อเข้าชมไม่เป็นศูนย์แล้ว

      • เข้าชมแล้ว :=2

  • คืนค่า True

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น

def solve(nums):
   visited = 0
   for x in nums:
      if x == 1:
         if visited == 2:
            return False
         visited = 1
      elif visited:
         visited = 2
   return True

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

อินพุต

[8, 2, 1, 1, 1, 3, 5]

ผลลัพธ์

True