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

Python如何实现1-10数字转英文文本 并将多if判断改为for循环

实现代码
def numberToText(input_num):
    # 输入合法性校验,不符合要求直接返回原输入
    if not isinstance(input_num, int) or input_num < 1 or input_num > 10:
        return input_num
    # 按顺序存储1到10对应的英文文本
    num_text_list = ["one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"]
    # for循环遍历匹配对应数字
    for index in range(len(num_text_list)):
        # 列表索引从0开始,对应数字为索引+1
        if index + 1 == input_num:
            return num_text_list[index]
    # 兜底逻辑,理论上前面校验通过不会走到这一步
    return input_num

# 测试调用示例
if __name__ == "__main__":
    test_input = 5
    print(numberToText(test_input))
逻辑说明
  • 首先对输入参数做类型和范围校验,不符合1-10整数要求的直接返回原输入,和你原有逻辑的兜底行为保持一致
  • 原有代码中参数名使用了Python内置函数名input,示例中修改为input_num避免命名冲突
  • 提前按顺序定义1到10对应的英文文本列表,列表索引从0开始,对应数字为索引值+1
  • 通过for循环遍历列表索引,匹配到和输入值相等的索引+1时,直接返回对应位置的英文文本
  • 不需要维护多个if判断分支,后续如果要扩展支持的数字范围,只需要在列表末尾追加对应英文即可,无需修改循环逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:24:03