You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中实现0-99数字转英文单词(无外部库)

0-99数字转英文单词(无外部库、无逐个脚本处理)

完全可以实现,核心思路是通过预定义基础数字的英文词汇表,结合简单的逻辑拆分十位与个位,无需外部库,也不用逐个数字编写判断逻辑。

实现逻辑

  • 0-19的英文单词无固定规律,直接预定义完整列表
  • 20、30...90这类整十数单独预定义
  • 对于非整十的两位数,拆分十位和个位后拼接词汇

示例代码(Python)

def num_to_word(n):
    # 预定义基础词汇
    ones = ["zero", "one", "two", "three", "four", "five",
            "six", "seven", "eight", "nine", "ten",
            "eleven", "twelve", "thirteen", "fourteen", "fifteen",
            "sixteen", "seventeen", "eighteen", "nineteen"]
    tens = ["", "", "twenty", "thirty", "forty", "fifty",
            "sixty", "seventy", "eighty", "ninety"]
    
    # 校验输入范围
    if not 0 <= n <= 99:
        return "输入数字需在0-99之间"
    
    # 处理0-19的情况
    if n < 20:
        return ones[n]
    # 处理整十数
    elif n % 10 == 0:
        return tens[n // 10]
    # 处理非整十的两位数
    else:
        return f"{tens[n // 10]}-{ones[n % 10]}"

# 测试示例
print(num_to_word(2))    # 输出: two
print(num_to_word(25))   # 输出: twenty-five
print(num_to_word(90))   # 输出: ninety
print(num_to_word(17))   # 输出: seventeen

说明

  • 没有依赖任何外部库,完全使用Python原生语法实现
  • 无需为每个数字单独编写判断分支,通过数学运算拆分数字,结合预定义词汇表完成转换,避免了冗余的逐个处理逻辑

内容的提问来源于stack exchange,提问作者Faaez Usman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 16:06:45