Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def int_reader(num):
- my_dict1={0:'không', 1:'một', 2:'hai', 3:'ba', 4:'bốn', 5:'năm', 6:'sáu', 7:'bảy', 8:'tám', 9:'chín'}
- my_dict2={1:'', 2:'mươi', 3:'trăm', 4:'nghìn', 5:'mươi'}
- my_list=['']
- digits=[x for x in str(num)]
- digits.reverse()
- counter=len(digits)
- for i in range(counter, 0, -1):
- n=int(digits.pop())
- #1. xử lí trường hợp 'lẻ lăm' ở hàng đơn vị, đọc #3, #4
- if i==1 and n==5 and my_list[-1]=='lẻ':
- my_list.append('năm')
- #2. xử lí trường hợp đọc 'không' ở hàng đơn vị
- elif i==1 and n==0:
- continue
- #3. xử lí trường hợp 'không mươi' ở hàng chục, thay thành 'lẻ'
- elif i==2 and n==0:
- my_list.append('lẻ')
- continue
- #4. xử lí trường hợp đọc 'năm' ở hàng đơn vị, khi số có hai chữ số trở lên
- #phải đọc là 'lăm'
- # lưu ý trường hợp đọc 'lăm' khi n=5 do đó phải check my_list có đọc được số nào
- #trước đó chưa hay là vẫn còn trống ('')
- elif i==1 and n==5 and my_list[-1]!='':
- my_list.append('lăm')
- else:
- my_list.append(my_dict1[n])
- my_list.append(my_dict2[i])
- return my_list
- if __name__=="__main__":
- n=int(input('Nhập một số nguyên: '))
- s=int_reader(n)
- for i in s:
- print(i, end=' ')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement