首页 > 解决方案 > 我是编程的初学者,所以试图编写程序来“在 python 中转换数字”你能检查我下面的代码吗?

问题描述

num=int(input('enter one number'))

units= 
{1:'one',2:'two',3:'three',4:'four',5:'five',6:'six',7:'seven',8:'eight',9:'nine',10:'ten',0:'zero',
11:'eleven',12:'tweleve',13:'thirteen',14:'fourteen',15:'fifteen',16:'sixteen',17:'seventeen',18:'eighteen',19:'nineteen'}

tens={2:'twenty',3:'thirty',4:'fourty',5:'fifty',6:'sixty',7:'seventy',8:'eighty',9:'ninety'}

hundreds={1:'one hundred',2:'two hundred',3:'three hundred',4:'four hundred',5:'five hundred',6:'six hundred',7:'seven hundred',8:'eight hundred',9:'nine hundred'}

unitdigit=num%10

tenthdigit=num//10

hundredthdigit=num//100

output=(hundreds[hundredthdigit]+' '+tens[tenthdigit]+' '+units[unitdigit])

print(output)

标签: python

解决方案


我认为您不需要转换为整数。您可以获取数字的索引,将其转换为整数并获取值:

num=input('enter one number')
units={1:'one',2:'two',3:'three',4:'four',5:'five',6:'six',7:'seven',8:'eight',9:'nine',10:'ten',0:'zero',
11:'eleven',12:'tweleve',13:'thirteen',14:'fourteen',15:'fifteen',16:'sixteen',17:'seventeen',18:'eighteen',19:'nineteen'}

tens={2:'twenty',3:'thirty',4:'fourty',5:'fifty',6:'sixty',7:'seventy',8:'eighty',9:'ninety'}

hundreds={1:'one hundred',2:'two hundred',3:'three hundred',4:'four hundred',5:'five hundred',6:'six hundred',7:'seven hundred',8:'eight hundred',9:'nine hundred'}
unitdigit=num[2]
tenthdigit=num[1]
hundredthdigit=num[0]
output=(hundreds.get(int(hundredthdigit))+' '+tens.get(int(tenthdigit))+' '+units.get(int(unitdigit)))

print(output)

推荐阅读