程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(2)

python入门系列-2-用字典数组实现翻译器原理

发布于2020-03-15 18:46     阅读(1898)     评论(0)     点赞(3)     收藏(4)


一、字典数组的是个啥

从本质上来说,就是一系列的键-值对,而且还是一一对应的,就像集合论中的一一映射一样,键是唯一的,值可同可不同;
有以下特点:一、不支持索引,只能通过键来索引值;二、键值是不变的

二、字典数组的基本操作

##建立一个字典数组
dict={first:'2020-03-14',second:'2020-03-15'}
##1,2为键;冒号后面的是值

##查询值
##通过键来查询
dict[first]

##删除值
##也只能通过键来删除
del dict[second]

##修改值
dict[first]='2020-03-13'

##增加值
dict[third]='2020-03-16'

三、简单翻译器原理

第一步:建立一个以源语言为键,目标语言为值的字典数组;
但是我们翻译的时候是输入句子的,而字典是以一个个单词为单位的,那该怎么办呢?
第二步:对,没错,就是要把句子拆成一个个单词;但是该怎么拆呢?
第三步:这还不简单,那就是要以空格为基准来拆呀!那汉语呢?
第四步:问得好,汉语确实没空格;但是估计高级翻译器估计早就用不着空格了!哎,技术力有限,我们先暴力留个空格。

上面就是基本的原理了,接下来就用编程实际操作一下。

worddictionary={'我':'I','是':'am'}
def translateword(word,dictionary):
    if word in dictionary:
        return dictionary[word]
    else:
        return word
def translate(sentence):
    translation=''
    word=''
    for c in sentence:
        if c!=' ':           ##注意两个单引号之间有一个空格
            word=word+c
        else:
            translation=translation+' '+translateword(word,worddictionary)
            word=''
    return translation[0:]


translate('我 是 古时月似火 ')

结果如下
在这里插入图片描述
几点注意:

1. 注意 c 判断那里两个单引号之间有一个空格
1. 注意 c 判断那里两个单引号之间有一个空格
1. 注意 c 判断那里两个单引号之间有一个空格

2.translate输入最后一定要有空格
2.translate输入最后一定要有空格
2.translate输入最后一定要有空格

四、展望

再想想办法怎样快速简便地建立一个字典数组;
而是可以结合语音、图像识别技术来进行翻译;
当然最高级的肯定是什么深度学习,就不用这么麻烦了。

谢谢大家观看!如有错误,欢迎大家指教。



所属网站分类: 技术文章 > 博客

作者:我是防疫小可爱

链接:https://www.pythonheidong.com/blog/article/260124/e36427de3af75825dedc/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

3 0
收藏该文
已收藏

评论内容:(最多支持255个字符)