Python中如何将输入的数字转换为对应英文单词输出?
Python数字转英文单词实现方法
方法一:使用第三方库num2words
这是最便捷的实现方式,支持多语言和大范围数字转换:
- 先安装库:
pip install num2words
- 示例代码:
from num2words import num2words user_input = input("请输入数字:") try: number = int(user_input) # 转换为英文并首字母大写,匹配示例输出格式 print(num2words(number, lang='en').capitalize()) except ValueError: print("请输入有效的整数数字")
方法二:自定义函数实现(无需第三方依赖)
如果不想依赖外部库,可以针对小范围数字(如0-99)编写映射逻辑:
def number_to_english(num): # 定义基础数字的英文映射 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 0 <= num < 20: return ones[num] elif 20 <= num < 100: ten_component = tens[num // 10] one_component = ones[num % 10] if num % 10 != 0 else "" return f"{ten_component} {one_component}".strip() else: return "当前仅支持0-99范围内的数字转换" user_input = input("请输入数字:") try: number = int(user_input) print(number_to_english(number)) except ValueError: print("请输入有效的整数")
内容的提问来源于stack exchange,提问作者Shashank Tiwari
相关产品推荐
相关产品推荐

