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

การเพิ่มเวลาใน Python


สมมติว่าเรามีสตริงที่แสดงเวลานาฬิกาแบบ 12 ชั่วโมงที่มีส่วนต่อท้าย am หรือ pm และมีการใส่จำนวนเต็ม n ด้วย เราจะเพิ่มเวลา n นาทีและส่งกลับเวลาใหม่ในรูปแบบเดียวกัน

ดังนั้น หากอินพุตเป็น s ="20:20pm" และ n =150 เอาต์พุตจะเป็น 22:50pm

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

  • h, m :=นำส่วนชั่วโมงและนาทีจาก s

  • ชั่วโมง :=ชั่วโมง mod 12

  • ถ้าเวลาเป็น 'pm' แล้ว

    • ชั่วโมง :=ชั่วโมง + 12

  • t :=h * 60 + m + n

  • ชั่วโมง :=ผลหารของ t/60, m :=ส่วนที่เหลือของ t/60

  • ชั่วโมง :=ชั่วโมง mod 24

  • คำต่อท้าย :='am' ถ้า h <12 มิฉะนั้น 'pm'

  • ชั่วโมง :=ชั่วโมง mod 12

  • ถ้า h เท่ากับ 0 แล้ว

    • ชั่วโมง :=12

  • ย้อนเวลา h:m ต่อท้าย

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

ตัวอย่าง

class Solution:
   def solve(self, s, n):
      h, m = map(int, s[:-2].split(':'))
      h %= 12
      if s[-2:] == 'pm':
         h += 12
      t = h * 60 + m + n
      h, m = divmod(t, 60)
      h %= 24
      suffix = 'a' if h < 12 else 'p'
      h %= 12
      if h == 0:
         h = 12
      return "{:02d}:{:02d}{}m".format(h, m, suffix)
ob = Solution()
print(ob.solve("8:20pm", 150))

อินพุต

"8:20pm", 150

ผลลัพธ์

10:50pm