em có một bài toán đọc số thành chữ. ví dụ 3000 000 =>> ba triệu
anh chị có thể code mẫu hoặc gợi ý giúp em không ạ. em cảm ơn
Đọc số thành chữ
em dạy cho máy học đếm như dạy em bé
đầu tiên là đếm từ 0 tới 10
rồi tới mấy chục
rồi tới mấy trăm
rồi tới mấy ngàn
rồi tới mấy triệu
rồi tới mấy tỉ
anh giúp cho code đếm từ 0 tới 10
NUM2WORDS_10 = ('không', 'một', 'hai', 'ba', 'bốn', 'Năm', 'sáu', 'bảy', 'tám', 'chín', 'mười')
def num2words_less_than10(n):
return NUM2WORDS_10[n]
còn mấy hàm này em tự viết đi, tập đếm lại như mẫu giáo ấy :V
def num2words_less_than100(n):
'''
Đọc số nhỏ hơn 100 (số có <2 chữ số)
Nếu nhỏ hơn 10 thì gọi hàm ở trên
Ráp chữ số hàng chục cộng với chữ 'mươi' và hàng đơn vị
Cẩn thận 1x đọc là 'mười ...' chứ không phải 'một mươi ...'
Cẩn thận 'lăm', 'nhăm', 'mốt': ví dụ 25 đọc là 'hai mươi lăm',
11 đọc là 'mười một' nhưng 21 đọc là 'hai mươi mốt'
'''
pass
def num2words_less_than1000(n):
'''
Đọc số nhỏ hơn 1000 (số có <3 chữ số)
Nếu nhỏ hơn 100 thì gọi hàm ở trên
Ráp chữ số hàng trăm với chữ 'trăm' và 2 chữ số còn lại nhờ hàm ở trên
Nhớ thêm chữ 'linh' hay 'lẻ', ví dụ 101 là một trăm lẻ một
'''
pass
def num2words_less_than1000000(n):
'''
Đọc số nhỏ hơn 1000000 (số có <6 chữ số)
Nếu nhỏ hơn 1000 thì gọi hàm ở trên
Chia 4-6 chữ số thành 2 phần: 3 chữ số hàng trăm, chục, đơn vị và các chữ số hàng ngàn trở lên
Xài hàm ở trên cho 2 phần rồi ráp 2 phần lại với nhau có chữ 'ngàn', 'nghìn' ở giữa
Ví dụ 12345 chia làm 2 phần 12 và 345,
12 đọc là 'mười hai', 345 đọc là 'ba trăm bốn mươi lăm',
ráp lại là 'mười hai ngàn ba trăm bốn mươi lăm'
Cẩn thận có thể cần đọc 'không trăm':
1021 đọc là 'một ngàn không trăm hai mươi mốt'
1001 đọc là 'một ngàn không trăm lẻ một'
'''
def num2words_less_than1000000000(n):
'''
Đọc số nhỏ hơn 1000000000 (số có <9 chữ số)
Tương tự ở trên, chia làm 2 phần: 6 chữ số < hàng triệu và các chữ số > hàng triệu,
ráp lại bằng chữ 'triệu', có thể cần 'không ngàn'
1023045 --> 'một triệu không trăm hai mươi ba ngàn không trăm bốn mươi lăm'
1000123 --> 'một triệu không ngàn một trăm hai mươi ba'
'''
pass
def num2words(n):
'''
Đọc số lớn hơn 9 chữ số.
Chia ra 2 phần: 9 chữ số < hàng tỉ và các chữ số > hàng tỉ.
'''
pass
4 Likes
em cảm ơn ạ <3333333333333333