首页 > 解决方案 > 已解决如何将数字单词转换为电话号码初学者样式?

问题描述

问题:

我是 Python 编程的初学者(3 个月),我的学校作业要求我拿一个带有数字单词的文本文件(例如:三哦五九 ...)并将其转换为电话号码(见下面的列表)一个单独的文件。我一直在想我的大脑,找不到一种简单的、适合初学者的风格来为此编写代码。我会很感激一些帮助。

我的IPO计划如下:

输入: 以读取模式打开文本文件。

处理: 将文本文件拆分为列表中的单词。将每个单词转换为其对应的数字。显示字符串中的每个数字。

输出: 打印包含电话号码的字符串。

我似乎无法将我的计划转换为代码。

输入是一个文件,如下所示:

*编辑:问题已解决,这是最终(工作)代码:

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

infile=open("digit_words.txt","r")
outfile=open("digit_strings.txt","w")

l=infile.readlines()

for line in l:
    words=line.split()

    for nos in words:
        c+=str(di[nos])

    print(c, file=outfile)
    print("\n")
    c=""

infile.close()
outfile.close()}

匹配的输出是另一个文件,如下所示:

标签: pythonnumbers

解决方案


好的,让我们将您的计划更改为编码。假设文件名为 phno.txt,您的代码将是:

di= {"zero":0,"one":1,"two":2,"three":3,"four":4,"five":5,"six":6,"seven":7,"eight":8,"nine":9}
c=""
f=open("phno.txt","r")
l=f.readlines()
for line in l:
    words=line.split()
    for nos in words:
         c+=str(di[nos])
    print(c)
    print("\n")
    c=""

推荐阅读