摘要:情景分析零在中文數字串中起補位作用,處理的時候可以忽略掉一十通常直接縮減為十,意味著十前獲取不到數字時為一十單位千百十前的數為單個數字單位萬前的數可以由復合而成單位億前的數可以由及億本身復合而成代碼實現一二三四五六七八九千百十十前
情景分析
(1) 零在中文數字串中起補位作用,處理的時候可以忽略掉
(2) 一十通常直接縮減為十,意味著十前獲取不到數字時為一十
(3) 單位千、百、十前的數為單個數字
(4) 單位萬前的數可以由(3)復合而成
(5) 單位億前的數可以由(3)、(4)及億本身復合而成
digit = {"一": 1, "二": 2, "三": 3, "四": 4, "五": 5, "六": 6, "七": 7, "八": 8, "九": 9}
def _trans(s): num = 0 if s: idx_q, idx_b, idx_s = s.find("千"), s.find("百"), s.find("十") if idx_q != -1: num += digit[s[idx_q - 1:idx_q]] * 1000 if idx_b != -1: num += digit[s[idx_b - 1:idx_b]] * 100 if idx_s != -1: # 十前忽略一的處理 num += digit.get(s[idx_s - 1:idx_s], 1) * 10 if s[-1] in digit: num += digit[s[-1]] return num
def trans(chn): chn = chn.replace("零", "") idx_y, idx_w = chn.rfind("億"), chn.rfind("萬") if idx_w < idx_y: idx_w = -1 num_y, num_w = 100000000, 10000 if idx_y != -1 and idx_w != -1: return trans(chn[:idx_y]) * num_y + _trans(chn[idx_y + 1:idx_w]) * num_w + _trans(chn[idx_w + 1:]) elif idx_y != -1: return trans(chn[:idx_y]) * num_y + _trans(chn[idx_y + 1:]) elif idx_w != -1: return _trans(chn[:idx_w]) * num_w + _trans(chn[idx_w + 1:]) return _trans(chn)測試例子
print(trans("十") == 10) print(trans("一百零一") == 101) print(trans("九百二十一") == 921) print(trans("五十六萬零一十") == 560010) print(trans("一萬億零二千一百零一") == 1000000002101) print(trans("一萬億二千一百萬零一百零一") == 1000021000101) print(trans("一萬零二百三十億四千零七千八百九十") == 1023000007890)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41323.html
摘要:常見的字符編碼有編碼,編碼,編碼等。碼只規(guī)定了個字符的編碼,這在美國是夠用的。小結是一種針對的可變長度字符編碼,它是的實現方式之一。 字符編碼是計算機編程中不可回避的問題,不管你用 Python2 還是 Python3,亦或是 C++, Java 等,我都覺得非常有必要厘清計算機中的字符編碼概念。本文主要分以下幾個部分介紹: 基本概念 常見字符編碼簡介 Python 的默認編碼 Py...
摘要:操練一下字符串吧。它是在告訴計算機,它里面包裹著的是一個字符串。連接字符串方法在中按照下面方法操作老齊教老齊教這是一種最簡單連接兩個字符串的方法。請看官字符編碼就知道了。 如果對自然語言分類,有很多中分法,比如英語、法語、漢語等,這種分法是最常見的。在語言學里面,也有對語言的分類方法,比如什么什么語系之類的。我這里提出一種分法,這種分法尚未得到廣大人民群眾和研究者的廣泛認同,但是,我相...
摘要:前段時間在社區(qū)看到一個很有意思的題目數字轉中文語言描述一開始我是這樣寫的將一個字符串轉換為數組零一二三四五六七八九一二三七一二四一二九一二四然后題主回復我說根據你這個我只能做出來十以內的開始我的理解太過簡單,所以又寫了一下思路是這樣的第一次 前段時間在 segmentfault 社區(qū)看到一個很有意思的題目 數字轉中文(PHP語言描述) 一開始我是這樣寫的
閱讀 3054·2023-04-26 00:40
閱讀 2391·2021-09-27 13:47
閱讀 4197·2021-09-07 10:22
閱讀 2966·2021-09-06 15:02
閱讀 3307·2021-09-04 16:45
閱讀 2484·2021-08-11 10:23
閱讀 3599·2021-07-26 23:38
閱讀 2900·2019-08-30 15:54