Permalink
Không thể lấy lại những người đóng góp tại thời điểm này
Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều
#-*-Mã hóa: UTF-8-*- | |
# @Author: LC | |
# @Date: 2016-10-09 15:12:03 | |
# @Last Sửa đổi bởi: WULC | |
# @Last Thời gian sửa đổi: 2016-10-09 15:34:13 | |
# @Email: | |
# chia số, từ đuôi này sang đầu khác, ba chữ số dưới dạng một nhóm | |
# Sau đó dịch từng nhóm với chức năng trợ giúp liên quan đến các quy tắc đó | |
Lớp học [đối tượng]: Solution[object]: | |
defnumbertowords [tự, num]: numberToWords[self, num]: | |
"" " | |
: gõ num: int | |
: rtype: str | |
"" " | |
map1 = {'0': 'zero', '1': 'one', '2': 'hai', '3': 'ba', '4': 'bốn', '5': 'năm' , '6': 'Six', '7': 'Seven', '8': 'Eight', '9': 'Nine', '10': 'Ten', '11': 'Eleven', ' 12 ':' Mười hai ',' 13 ':' Mười ba ',' 14 ':' Fourteen ',' 15 ':' Mười lăm ',' 16 ':' Sixteen ',' 17 ':' Seventeen ',' 18 ' : 'Mười tám', '19': 'Nineteen'} = {'0':'Zero', '1':'One', '2':'Two', '3':'Three', '4':'Four', '5':'Five', '6':'Six', '7':'Seven', '8':'Eight', '9':'Nine','10':'Ten', '11':'Eleven', '12':'Twelve', '13':'Thirteen', '14': 'Fourteen', '15':'Fifteen' , '16':'Sixteen', '17':'Seventeen', '18':'Eighteen', '19':'Nineteen'} | |
MAP2 = {'2': 'Twenty', '3': 'ba mươi', '4': 'bốn mươi', '5': 'năm mươi', '6': 'sáu mươi', '7': 'bảy mươi' , '8': 'támy', '9': 'chín mươi'} = {'2':'Twenty', '3':'Thirty', '4':'Forty', '5':'Fifty', '6':'Sixty', '7':'Seventy', '8':'Eighty', '9':'Ninety'} | |
Defhelper [s]: helper[s]: | |
iflen [s] == 1: len[s] == 1: | |
returnMap1 [s] map1[s] | |
Eliflen [s] == 2: len[s] == 2: | |
ifs [0] == '1': s[0] == '1': | |
returnMap1 [s] map1[s] | |
Eliflen [s] == 2:: | |
ifs [0] == '1': map2[s[0]] if s[1] == '0' else map2[s[0]]+' '+map1[s[1]] | |
khác: len[s] == 3: | |
tmp='' = '' | |
returnMap2 [s [0]] ifs [1] == '0'elsemap2 [s [0]]+' '+map1 [s [1]] s[0] != '0': | |
Eliflen [s] == 3: = map1[s[0]] +' Hundred' | |
ifs [0]! = '0': s[1] != '0': | |
TMP = MAP1 [S [0]] +'Hàng trăm' s[1] == '1': | |
ifs [1]! = '0': += ' '+map1[s[1:]] if tmp else map1[s[1:]] | |
ifs [1] == '1': tmp | |
Eliflen [s] == 2:: | |
ifs [0] == '1': += ' '+map2[s[1]] if tmp else map2[s[1]] | |
khác: s[2] != '0': | |
returnMap2 [s [0]] ifs [1] == '0'elsemap2 [s [0]]+' '+map1 [s [1]] += ' '+map1[s[2]] if tmp else map1[s[2]] | |
ifs [1] == '1': tmp | |
TMP+= ''+MAP1 [S [1:]] iftmpelsemap1 [s [1:]] | |
returntmp = str[num] | |
TMP+= ''+MAP2 [S [1]] IFTMPelSemap2 [S [1]], groups = len[s], [] | |
ifs [2]! = '0': idx > 0: | |
TMP+= ''+MAP1 [S [2]] iftMPelSemap1 [S [2]] idx - 3 >= 0: | |
# chia số.append[s[idx-3:idx]] | |
Eliflen [s] == 2:: | |
ifs [0] == '1':.append[s[:idx]] | |
idx-=3 -= 3 | |
result='' = '' | |
khác: = {1:' Thousand', 2:' Million', 3:' Billion'} | |
returnMap2 [s [0]] ifs [1] == '0'elsemap2 [s [0]]+' '+map1 [s [1]] i in xrange[len[groups]]: | |
Eliflen [s] == 3: = helper[groups[i]] | |
ifs [0]! = '0': tmp: | |
TMP = MAP1 [S [0]] +'Hàng trăm' i != 0: | |
ifs [1]! = '0': += suffix[i] | |
ifs [1] == '1': = tmp + ' ' + result | |
TMP+= ''+MAP1 [S [1:]] iftmpelsemap1 [s [1:]] result.strip[] | |