Christmas Challenge to DNH

HELLO EVERYONE
Hiện giờ mình thấy 1 cái challenge rất hay và bổ ích trên reddit
Nguyên văn luật của nó như sau:
Description

No more hiding from your alarm clock! You’ve decided you want your computer to keep you updated on the time so you’re never late again. A talking clock takes a 24-hour time and translates it into words.

Input Description:

An hour (0-23) followed by a colon followed by the minute (0-59).

Output Description:

The time in words, using 12-hour format followed by am or pm.

Sample Input data

00:00
01:30
12:05
14:01
20:29
21:00

Sample Output data

It’s twelve am
It’s one thirty am
It’s twelve oh five pm
It’s two oh one pm
It’s eight twenty nine pm
It’s nine pm

Caution: output kết quả là tiếng anh nha!
Link gốc: https://www.reddit.com/r/dailyprogrammer/comments/6jr76h/20170627_challenge_321_easy_talking_clock/

3 Likes

Xong :smile:

units = ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"]

tens = ["oh", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninty"]

def read(s):
	h, m = s.split(':')
	h = int(h)
	m = int(m)

	if h < 12:
		time_str = "am"
		
		if h == 0:
			h = 12
	else:
		time_str = "pm"
		if h != 12:
			h -= 12

	h_read = units[h]
	if m == 0:
		m_read = ""
	elif m < 10:
		m_read = tens[0] + " " + units[m] + " "
	elif m < 20:
		m_read = units[m] + " "
	else:
		if m % 10 == 0:
			m_read = tens[m // 10] + " "
		else:
			m_read = tens[m // 10] + " " + units[m % 10] + " "

	return "It's " + h_read + " " + m_read + time_str 

print(read(input()))

P/s: Sao hiển thị trên DNH 1 tab = 4 spaces trên Windows và 1 tab = 8 spaces trên Linux là thế nào nhỉ?

3 Likes

Sao không đi chơi Giáng Sinh mà ở nhà ngồi máy giải bài tập vậy :joy:

1 Like

Đi chơi với ai bây giờ :v

[spoiler]:bear: đi chơi đâu mất rồi :’([/spoiler]

2 Likes

Không có gấu!!! huhuhu
:cry:

2 Likes

sao lần này anh dùng python chứ không dùng c++ hả anh!!!
But whatever love my senpai

Mình đang tiện tay code Python. Còn C++ cũng tương tự mà =))

Em nghĩ em nhỏ tuổi hơn anh nên anh xưng em là “Mình” thì hơi ngại

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?