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

Chương trình chuyển đổi thời gian giờ phút sang định dạng văn bản bằng Python

Giả sử chúng ta có hai đầu vào giờ và phút. Chúng ta phải hiển thị thời gian ở định dạng văn bản. Điều này giống như -

  • 8 giờ:8 giờ
  • 8:01:tám giờ một phút
  • 8:10:8 giờ 10 phút
  • 8:15:tám giờ mười lăm
  • 8:30:8 giờ rưỡi
  • 8:40:hai mươi phút tới chín phút
  • 8:45:chín 1/4
  • 8:47:mười ba phút tới chín phút
  • 8:28:tám giờ hai mươi tám phút

Vì vậy, nếu đầu vào là h =9, m =42, thì đầu ra sẽ là mười tám phút đến mười phút

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

  • text:=danh sách chứa các văn bản cho 30 giá trị số khác nhau như sau:["một", "hai", "ba", "bốn", "năm", "sáu", "bảy", "tám" , "chín", "mười", "mười một", "mười hai", "mười ba", "mười bốn", "quý", "mười sáu", "mười bảy", "mười tám", "mười chín", "hai mươi", " hai mươi mốt "," hai mươi hai "," hai mươi ba "," hai mươi tư "," hai mươi lăm "," hai mươi sáu "," hai mươi bảy "," hai mươi tám "," hai mươi lăm " chín "," một nửa "]
  • op:=chuỗi trống
  • nếu m giống 0, thì
    • op:=text [h - 1] nối "o 'clock"
  • ngược lại khi m bằng 30 thì
    • op:=text [m - 1] nối văn bản nối "quá khứ" [h - 1]
  • ngược lại khi m giống 1 thì
    • op:=text [m - 1] nối văn bản nối "phút trước" [h - 1]
  • ngược lại khi m giống với 15 thì
    • op:=text [m - 1] nối văn bản nối "quá khứ" [h - 1]
  • ngược lại khi m - 30 khác 0 thì
    • op:=text [m - 1] nối văn bản nối "phút trước" [h - 1]
  • ngược lại khi m giống với 45 thì
    • op:="quý thành" nối văn bản [h]
  • nếu không thì
    • op:=text [(60 - m) -1] nối "phút với" nối văn bản [h]
  • trả lại op

Ví dụ

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

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

Đầu vào

9, 42

Đầu ra

eighteen minutes to ten