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

โปรแกรมแปลงเวลาชั่วโมงนาทีเป็นรูปแบบข้อความในPython


สมมติว่าเรามีอินพุตสองชั่วโมงและนาที เราต้องแสดงเวลาในรูปแบบข้อความ เป็นแบบนี้ −

  • 8:00 :8'o นาฬิกา
  • 8:01 :แปดนาทีผ่านไป
  • 8:10 :แปดโมงสิบนาที
  • 8:15 :แปดโมงครึ่ง
  • 8:30 :แปดโมงครึ่ง
  • 8:40 :ยี่สิบนาทีถึงเก้า
  • 8:45 :สี่ถึงเก้า
  • 8:47 :สิบสามนาทีถึงเก้า
  • 8:28 :แปดโมงยี่สิบแปดนาที

ดังนั้น หากอินพุตเป็น h =9, m =42 เอาต์พุตจะเป็นสิบแปดนาทีถึงสิบ

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

  • ข้อความ:=รายการที่มีข้อความสำหรับค่าตัวเลขที่แตกต่างกัน 30 ค่าดังนี้:["หนึ่ง" "สอง" "สาม" "สี่" "ห้า" "หก" "เจ็ด" "แปด" ,"เก้า","สิบ", "สิบเอ็ด","สิบสอง", "สิบสาม", "สิบสี่", "สี่", "สิบหก","สิบเจ็ด", "สิบแปด","สิบเก้า", "ยี่สิบ", " ยี่สิบเอ็ด","ยี่สิบสอง", "ยี่สิบสาม", "ยี่สิบสี่", "ยี่สิบห้า", ยี่สิบหก", "ยี่สิบเจ็ด", "ยี่สิบแปด", "ยี่สิบ- เก้า", "ครึ่ง"]
  • op:=สตริงว่าง
  • ถ้า m เท่ากับ 0 แล้ว
    • op :=text[h - 1] concatenate " o' clock"
  • มิฉะนั้น เมื่อ m เท่ากับ 30 แล้ว
    • op :=text[m - 1] concatenate " อดีต " concatenate text[h - 1]
  • มิฉะนั้นเมื่อ m เท่ากับ 1 แล้ว
    • op :=text[m - 1] concatenate " นาทีที่ผ่านมา " concatenate text[h - 1]
  • มิฉะนั้น เมื่อ m เท่ากับ 15 แล้ว
    • op :=text[m - 1] concatenate " อดีต " concatenate text[h - 1]
  • มิฉะนั้นเมื่อ m − 30 ไม่ใช่ศูนย์ ดังนั้น
    • op :=text[m - 1] เชื่อม " นาทีที่ผ่านมา " concatenate text[h - 1]
  • มิฉะนั้นเมื่อ m เท่ากับ 45 แล้ว
    • op :=" Quarter to " เชื่อมข้อความ[h]
  • อย่างอื่น
    • op :=text[(60 - m) -1] เชื่อม " minutes to " concatenate text[h]
  • รีเทิร์น op

ตัวอย่าง

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

def solve(h, m):
   text=["one", "two", "three", "four", "five", "six", "seven", "eight","nine","ten", "eleven", "twelve", "thirteen", "fourteen", "quarter", "sixteen","seventeen", "eighteen", "nineteen", "twenty", "twenty-one","twenty-two", "twenty-three", "twenty-four", "twentyfive"," twenty-six", "twenty-seven", "twenty-eight", "twenty-nine", "half"]

   op=""
   if (m == 0):
      op = text[h - 1] + " o' clock"
   elif (m == 30):
      op = text[m - 1]+ " past " + text[h - 1]
   elif (m == 1):
      op = text[m - 1] + " minute past " + text[h - 1]
   elif (m == 15):
      op = text[m - 1]+ " past " + text[h - 1]
   elif (m < 30):
      op = text[m - 1] + " minutes past " + text[h - 1]
   elif (m==45):
      op = "quarter to " + text[h]
   else:
      op = text[(60 - m)-1] + " minutes to " + text[h]
   return op

h = 9
m = 42
print(solve(h, m))

อินพุต

9, 42

ผลลัพธ์

eighteen minutes to ten