我正在尝试挑战,我应该将任何数字转换为单词

时间:2019-12-26 08:29:13

标签: python string lambda numbers format

我正在学习编程,并且正在挑战。所以挑战要求我将任何数字转换成英文对应的单词 挑战就是这样:

  

您写了一个短语并包含许多数字字符(0-9),但您决定为数字10和以下数字而不是将单词写出来。您是否可以编辑短语以写出每个数字的名称,而不使用数字?

     

任务:   取一个短语,替换0-10之间一个整数的所有实例,然后用对应于该整数的英语单词替换它。

     

输入格式:   短语的字符串以其原始形式(小写)。

     

输出格式:   一串更新的词组,已将数字更改为单词。

     

样本输入:   我需要2个南瓜和3个苹果

     

样本输出:   我需要两个南瓜和三个苹果

而且,很遗憾,这是我的代码

nums ={"0":"zero","1":"one","2":"two","3":"three","4":"four","5":"five","6":"six","7":"seven","8":"eight","9":"nine"}

phrs = input()

phrs = phrs.split(" ")

for f in phrs:
  if f in nums:

    d = phrs.index(f)

    phrs[d] = str((lambda x:"{"+x+"}",(f)))

    phrs = " ".join(phrs)

    print(phrs.format(f = nums[f]))

我几乎可以肯定,有很多更简单的方法可以做到这一点。 但是我尝试了一些简单的方法,但是也没有解决。 有人可以为我“修复”此代码吗? 还是告诉我另一种方式?

0 个答案:

没有答案