最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)中文數(shù)字與阿拉伯?dāng)?shù)字映射生成器(支持0-9999)的完整代碼

 更新時(shí)間:2025年07月31日 09:44:22   作者:袁袁袁袁滿  
在中文文本處理和自然語(yǔ)言處理(NLP)應(yīng)用中,經(jīng)常需要將中文數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字,本文將介紹如何使用Python根據(jù)用戶從控制臺(tái)輸入的數(shù)字范圍,生成相應(yīng)的中文數(shù)字到阿拉伯?dāng)?shù)字的映射字典,并將結(jié)果保存為JSON文件,需要的朋友可以參考下

1. 引言

在中文文本處理和自然語(yǔ)言處理(NLP)應(yīng)用中,經(jīng)常需要將中文數(shù)字轉(zhuǎn)換為阿拉伯?dāng)?shù)字。本文將介紹如何使用Python根據(jù)用戶從控制臺(tái)輸入的數(shù)字范圍,生成相應(yīng)的中文數(shù)字到阿拉伯?dāng)?shù)字的映射字典,并將結(jié)果保存為JSON文件。

2. 需求分析‌

開發(fā)一個(gè)Python程序,根據(jù)用戶輸入的數(shù)字(最大9999),自動(dòng)生成中文數(shù)字與阿拉伯?dāng)?shù)字的映射字典,并保存為JSON文件。例如:輸入10時(shí),生成{“零”:0, “一”:1,…, “十”:10}。

3. 核心實(shí)現(xiàn)思路‌

1. 中文數(shù)字轉(zhuǎn)換規(guī)則‌

  • 單位系統(tǒng)‌:萬(wàn)(超過9999的部分)、千、百、十、個(gè)位。
  • 零處理‌:連續(xù)零僅保留一個(gè)(如205→“二百零五”),末尾零省略(如100→“一百”)。
  • 特殊讀法‌:10讀作“十”而非“一十”。

2. 用戶輸入驗(yàn)證‌

  • 確保輸入為整數(shù)、且在0~9999之間。

3. JSON文件生成‌

  • 使用Python標(biāo)準(zhǔn)庫(kù)json保存字典,保留Unicode字符。

4. 完整代碼實(shí)現(xiàn)‌

import json


def number_to_chinese(num):
    """將0-9999的整數(shù)轉(zhuǎn)換為中文數(shù)字"""
    units = ['', '十', '百', '千']
    digits = {0: '零', 1: '一', 2: '二', 3: '三', 4: '四',
              5: '五', 6: '六', 7: '七', 8: '八', 9: '九'}

    if num == 0:
        return digits[0]

    num_str = str(num)
    length = len(num_str)
    result = []
    has_zero = False  # 標(biāo)記前一位是否是零

    for i, n in enumerate(num_str):
        n = int(n)
        pos = length - i - 1  # 當(dāng)前位數(shù)(0=個(gè)位,1=十位...)

        if n == 0:
            if not has_zero and pos != 0:
                result.append(digits[0])
                has_zero = True
        else:
            if has_zero:
                result.pop()  # 刪除前導(dǎo)零
                has_zero = False
            result.append(digits[n])
            if pos > 0:
                result.append(units[pos])

    # 處理10-19的特殊情況(如10→十,11→十一)
    if 10 <= num <= 19 and length == 2:
        result = result[1:] if num == 10 else ['十' + digits[int(num_str[1])]]

    return ''.join(result).replace('零千', '零').rstrip('零')


def validate_input(prompt):
    """驗(yàn)證用戶輸入是否為0-9999的整數(shù)"""
    while True:
        user_input = input(prompt)
        try:
            num = int(user_input)
            if 0 <= num <= 9999:
                return num
            print("錯(cuò)誤:請(qǐng)輸入0到9999之間的整數(shù)!")
        except ValueError:
            print("錯(cuò)誤:輸入必須為整數(shù)!")


def generate_mapping(max_num):
    """生成中文數(shù)字映射字典"""
    return {number_to_chinese(i): i for i in range(max_num + 1)}


def main():
    max_num = validate_input("請(qǐng)輸入最大阿拉伯?dāng)?shù)字(0-9999): ")
    mapping = generate_mapping(max_num)

    # 保存為JSON文件
    filename = f"chinese_numbers_{max_num}.json"
    with open(filename, 'w', encoding='utf-8') as f:
        json.dump(mapping, f, ensure_ascii=False, indent=2)

    print(f"生成成功!映射文件已保存為 {filename}")

    # 讀取JSON文件
    with open(filename, 'r', encoding='utf-8') as f:
        loaded_dict = json.load(f)
        print("成功讀取字典:", loaded_dict)


if __name__ == "__main__":
    main()

關(guān)鍵代碼解析‌

1. 數(shù)字轉(zhuǎn)換函數(shù)‌

  • 動(dòng)態(tài)單位拼接‌:根據(jù)數(shù)字位置添加“千、百、十”等單位。
  • 零處理優(yōu)化‌:通過has_zero標(biāo)志避免重復(fù)零,如2001→“二千零一”。
  • 邊界特判‌:?jiǎn)为?dú)處理10-19的讀法,確保符合中文習(xí)慣。

2. 輸入驗(yàn)證‌

  • 使用循環(huán)強(qiáng)制用戶輸入合法數(shù)值,防止程序崩潰。

3. 文件輸出‌

  • ensure_ascii=False確保JSON文件直接顯示中文而非Unicode轉(zhuǎn)義。

運(yùn)行示例‌

1. 輸入驗(yàn)證‌

請(qǐng)輸入最大阿拉伯?dāng)?shù)字(0-9999): abc
錯(cuò)誤:輸入必須為整數(shù)!
請(qǐng)輸入最大阿拉伯?dāng)?shù)字(0-9999): 10000
錯(cuò)誤:請(qǐng)輸入0到9999之間的整數(shù)!

2. 生成結(jié)果‌,輸入10時(shí),輸出文件內(nèi)容:

{
  "零": 0,
  "一": 1,
  "二": 2,
  "三": 3,
  "四": 4,
  "五": 5,
  "六": 6,
  "七": 7,
  "八": 8,
  "九": 9,
  "十": 10
}

輸入9999運(yùn)行結(jié)果:

到此這篇關(guān)于Python實(shí)現(xiàn)中文數(shù)字與阿拉伯?dāng)?shù)字映射生成器(支持0-9999)的完整代碼的文章就介紹到這了,更多相關(guān)Python中文數(shù)字轉(zhuǎn)阿拉伯?dāng)?shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python圖像處理必備技巧分享

    Python圖像處理必備技巧分享

    本文系統(tǒng)梳理了Python圖像處理的15項(xiàng)核心技能,涵蓋圖像讀取、顏色轉(zhuǎn)換、濾波、邊緣檢測(cè)、形態(tài)學(xué)操作、特征提取、分割、變換等關(guān)鍵技術(shù),強(qiáng)調(diào)這些基礎(chǔ)技能的組合應(yīng)用可實(shí)現(xiàn)復(fù)雜圖像處理任務(wù),需要的朋友可以參考下
    2025-05-05
  • Python基于Logistic回歸建模計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)示例

    Python基于Logistic回歸建模計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)示例

    這篇文章主要介紹了Python基于Logistic回歸建模計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù),結(jié)合實(shí)例形式分析了Python基于邏輯回歸模型的數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Collatz 序列、逗號(hào)代碼、字符圖網(wǎng)格實(shí)例

    Collatz 序列、逗號(hào)代碼、字符圖網(wǎng)格實(shí)例

    下面小編就為大家?guī)硪黄狢ollatz 序列、逗號(hào)代碼、字符圖網(wǎng)格實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹回歸詳解

    python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹回歸詳解

    這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹回歸的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 詳解python datetime模塊

    詳解python datetime模塊

    這篇文章主要介紹了python datetime模塊的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-08-08
  • Win10環(huán)境python3.7安裝dlib模塊趟過的坑

    Win10環(huán)境python3.7安裝dlib模塊趟過的坑

    這篇文章主要介紹了Win10環(huán)境python3.7安裝dlib模塊趟過的坑,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python requests請(qǐng)求超時(shí)的解決方案

    Python requests請(qǐng)求超時(shí)的解決方案

    在進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)爬取過程中,網(wǎng)絡(luò)請(qǐng)求超時(shí)是一個(gè)令人頭疼的問題,尤其在Python中,我們常常需要應(yīng)對(duì)各種網(wǎng)絡(luò)爬蟲、API調(diào)用或其他網(wǎng)絡(luò)操作,而網(wǎng)絡(luò)請(qǐng)求超時(shí)的原因千奇百怪,在本篇文章中,我們將深入探討Python requests請(qǐng)求超時(shí)的解決方案,需要的朋友可以參考下
    2024-12-12
  • tensorflow輸出權(quán)重值和偏差的方法

    tensorflow輸出權(quán)重值和偏差的方法

    本篇文章主要介紹了tensorflow輸出權(quán)重值和偏差的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-02-02
  • 利用python爬取軟考試題之ip自動(dòng)

    利用python爬取軟考試題之ip自動(dòng)

    最近為了考試打算抓取網(wǎng)上的軟考試題,在抓取中遇到一些問題,下面這篇文章主要介紹的是利用python爬取軟考試題之ip自動(dòng)的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-03-03
  • 使用Pytorch構(gòu)建第一個(gè)神經(jīng)網(wǎng)絡(luò)模型?附案例實(shí)戰(zhàn)

    使用Pytorch構(gòu)建第一個(gè)神經(jīng)網(wǎng)絡(luò)模型?附案例實(shí)戰(zhàn)

    這篇文章主要介紹了用Pytorch構(gòu)建第一個(gè)神經(jīng)網(wǎng)絡(luò)模型(附案例實(shí)戰(zhàn)),本文通過實(shí)例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-03-03

最新評(píng)論

安徽省| 武功县| 井研县| 柘城县| 南投县| 阜康市| 密山市| 长阳| 古蔺县| 永修县| 吴川市| 淮安市| 静海县| 新蔡县| 泰和县| 涪陵区| 通辽市| 长汀县| 青田县| 吴堡县| 佛学| 鄂伦春自治旗| 盐边县| 彭水| 信阳市| 丹江口市| 安庆市| 额尔古纳市| 平昌县| 海口市| 安塞县| 武宁县| 宜都市| 额济纳旗| 凤城市| 二手房| 芷江| 盐源县| 宜宾县| 呼玛县| 工布江达县|