当前位置: 首页 > news >正文

做营销网站设计seo技术培训课程

做营销网站设计,seo技术培训课程,如何利用站群做网站,做qq阅读网站介绍“流线”与“功能” 以“外文词典”程序设计为例 一、题目及引入 [制作外文字典] (第十周实验)词典有3个基本功能:添加,查询和退出。程序读取源文件路径下的“我的词典.txt”文件,若没有就创建一个。程序根据用户的选择进入相应的模块&#x…
c82975e846e6790815b7a518b52785da.png

“流线”与“功能”

“外文词典”程序设计为例

一、题目及引入

[制作外文字典]

(第十周实验)词典有3个基本功能:添加,查询和退出。程序读取源文件路径下的“我的词典.txt”文件,若没有就创建一个。程序根据用户的选择进入相应的模块,并显示相应的操作提示。当添加的单词已经存在时,把新输入的中文作为新的释义(即允许多重释义)。当查询的单词不存在时,要提示“词典库没有该单词”。用户输入其它选项,提示“输入错误”

b0912939ab269bd842abcd3cbf89e7cb.png

编写时需注意的个小问题

①每个功能写一个函数(显示操作菜单,增加单词,查询单词,保存词典,读入词典)

②增加单词和查询单词,不能读写文件

③只允许在函数内打开关闭文件

④再次运行要把上次保存的内容读入

看来提示①给大问题的第一次分解指明了光明道路。不妨就按照之前的建议去做,依次解决五个小问题并进行调试工作。一路做下来,每一步都是脚踏实地的快乐,每次调试都有满满的成就感。好的,我们把它们组合在一起……

78cc5845e97d36d94b0a60e5693a4b8a.png

嗯,还需要做一点点小改动。接着就是牵一发而动全身的重开……

794c6bccceed1043d76ec9a64dcd9d94.png

每一个函数的功能都考虑清楚了,但是各个功能区之间的关系还需要进一步明确,这里需要一条清晰的流线,即数据“储存”“运输”的路径

不妨从用户的角度考虑,梳理这几个功能的关系。需要明确的是,这里有一个循环,只有用户输入“3”的时候才能跳出循环

26a59a890b45331602bbf077358811e6.png

二、数据的流转与存储

数据在文本文件和python之间流转与储存,会涉及到数据储存样式、安排数据流转时间点等问题。

在文本文件里面各种数据要用什么样式储存?

python中,数据能以字符串、数字、列表、字典、元组、集合等形式储存

但在文本文件中,数据只能以文本形式储存

文本文件数据与python如何轻松对接?不妨考虑以下问题:

1

为了减少麻烦,我们可以将储存的外文统一转换成小写模式

2

如果直接将python中的字典数据

dic={“Roystonea regia”:[“大王椰子”,”王棕”] }

直接存入文本文件,那么大量特殊符号将以文本类型储存在文本文件中

3

如果直接采取这种储存样式,下一次用python读取文本文件数据时,如果不使用json库,特殊符号会以字符串形式读入python,将大量字符串重新处理成字典会比较麻烦

所以在文本文件里面的数据需要有统一的符号简单的样式。比如:

e48ec897df6a30989fb1540f8c9debef.png

如果觉得既要处理空格又要处理冒号比较麻烦,我们还可以采取以下样式

dabaf2765bb54ad97b67b890918f0c62.png

读入python时只需要对冒号切割处理,即可生成列表

2fa0aaf37f51229830132166eec20e0d.png

文本文件的读取和写入应该安排在什么时候?

如何将大象放进冰箱里面?首先打开冰箱,然后把大象放进冰箱里面,接着关闭箱门

文本文件的处理也比较类似,就是打开—处理—关闭

67850bae53b6ece7297b5dd188e1acaf.png

注意这里的“处理”包括很多方面的内容,比如读取和写入等等。为了讲清楚这个问题,我们不妨做一个类比

假设张三需要利用冰箱现有的冷水配置冷的盐水,他大致会经过这几个步骤

①打开冰箱门②取出冷水③关闭冰箱门

④按照配置操作规范弄好冷盐水⑤打开冰箱门

⑥将冷盐水放进冰箱⑦关闭冰箱门

由此可以看到,这整个过程张三开了两次冰箱门,关了两次冰箱门

这里的步骤①⑤相当于“打开”,③⑦相当于“关闭”,②⑤相当于“处理”。实际上与冰箱没有关系,因为在配置冷盐水的过程中没有任何必要对冰箱进行操作

3851cf97ad5e564d8de2e029bb4b2b6c.png

在程序设计的时候,我们也要避免反复开关冰箱门

参考“张三七步配置冷盐水法”,

可以规划一条初步的数据传输流线

①打开文本文件

②将文本文件的内容读入python的列表lis

③关闭文本文件

④用户各种操作,不论是增加外文单词还是查询,都只对lis进行处理,与文本文件无关

⑤打开文本文件

⑥将新的lis写入文本文件

⑦关闭文本文件

616d2caa446c064520af80dcdea87703.png

基本的框架已经出现了,我们需要进一步细化蓝色的部分。细化的依据大致就是从用户的角度出发置入增加和查询的流线

174022ee50cf39c062d5dac107a91b81.png

上面这个流线图里面隐隐约约出现了五个功能函数的位置(到现在我们一行代码也没有)

54bde60ca0c98e3f6efa60cbc1248533.png

    不好意思放错图了

d69b0f597429f8aac1d50fe732ce4536.png

有功能布局与交通流线分析图的味道了

如何利用好函数的变量和返回值?

例如,对于增加功能函数zengjia(),我们需要考虑这个函数在执行的时候会涉及哪些变量,比如列表lis,需要增加的外文单词jiaE,对应的解释jiaC。所以这个函数最好写成zengjia(jiaE,jiaC,lis)

至于返回值,如果增加的外文单词与对应的解释在原列表已经有记录,就需要告诉用户“已有记录”,如果添加成功,就需要告诉用户“添加成功”,所以可以让函数的返回值是一个字符串类型的变量ans,即

7a9f5cb8acd27bb6bcd0eb0618f957a2.png

在主程序就可以这样调用:

3fa390f7107d9e84bad5488531a933ca.png

同时,如果没有充足的把握,建议减少全局变量的使用

依据前面的讨论,

我们将函数的具体内容明确一下:

读取函数duqu(),打开冰箱,提取txt中信

    息并存入列表lis,关闭冰箱,最后返回lis

显示操作菜单的函数caozuo(),仅用于打印

    菜单文字

③用户输入“1”的时候调用

    增加词条函数zengjia(jiaE,jiaC,lis),

    将外文jiaE及其释义jiaC保存到列表lis里面,

    返回提示字符串ans

④用户输入“2”的时候调用

    查询函数cha(xun,lis)

    用户输入外文xun,

    在lis里面寻找对应的释义,

    返回释义ans(也可能没有释义)

⑤用户输入“3”的时候调用

    保存函数baocun(lis)

    打开冰箱,放进列表,关闭冰箱,

    跳出循环,结束运行

这个时候就可以开始给逐个功能敲代码了,首先搭建主体框架

ec77610577310e7d5f54db5e5a738f80.png

接着就是补充各个函数的功能,注意目前的主体框架中,

所有函数名都在注释内部,都不会执行,完成一个函数的代码之后再去掉该函数的注释符号,这样方便逐个调试

三、内部程序代码编写

接下来是字典程序的具体编写内容

读取函数duqu()

文本文件中的数据保存样式如下:

dabaf2765bb54ad97b67b890918f0c62.png

那么读到python中,我们可以采取

列表套列表的方式作为数据保存样式:

lis=[[“Roystonea regia”,“大王椰子”],

[“Tabernaemontan adivaricata”,“狗牙花”],

[“Roystonea regia”,“王棕”]]

2fa0aaf37f51229830132166eec20e0d.png

函数内部代码如下。

b2a5d6cc6fc9d0f889393ee4ce1c5bf8.png

调试方法就是预先在文本文件按照样式写出部分数据,然后解除主程序lis=duqu()的注释符号,并在下一行添加print(lis),检查lis的结果

显示操作菜单caozuo()

这个比较简单,不过还是调试一下

18eb6ebca9cd52f7a9791459a88c2a4d.png

调试的时候,如果输入“1”或“2”之后再次出现操作菜单,输入其他字符显示“输入错误”和操作菜单,且输入“3”的时候可以退出,即调试完成

增加词条函数zengjia(jiaE,jiaC,lis)

这里需要判断原来的列表lis内部有没有完全一样记录,如果有,就无需添加,如果没有,就按照样式添加

具体方法就是先让变量you取0,将列表的每一个元素拿出来与新增词条对比,一旦发现相同记录,就让you变成1

接着就通过变量you的数值来决定是否添加词条,注意这里的词条是添加到列表lis里面的,并不是添加到文本文件里面

另外还需要注意一个问题,如果jiaE和jiaC本身带有英文冒号,储存到文本文件之后同一行可能会出现多个冒号,那么下一次再读取时,执行duqu()的line=line.split(":")会有麻烦,为了避免切割出两个以上的字符串,不妨将英文冒号替换成中文冒号

7f60eed79479f4279eed1c32aff25c56.png

这个时候注意在主程序也要进行补充

2ccd62bd0a1c3a413428b9997cb68b29.png

同样地,这里可以通过添加print(lis)进行调试,确保新的词条已经存入列表lis里面

查询函数cha(xun,lis)

这里还需要处理的问题就是如果列表lis没有记录,要告诉用户没有记录。不妨设默认回答ans是"词典里没有{}单词!".format(xun),如果在词典里面每发现一条记录(可能有多条记录),就更改ans的值

4c7a95f043f6f1345c74b97305e41090.png

同样地,主程序也相应进行补充

04de2f0925a0c48cc412a264a4a8f3b6.png

这里的调试内容比较多,最好词典没有记录的外文、词典有一条记录的外文、词典有多条记录的外文都试一试

保存函数baocun(lis)

1ecac0c1679c589a96498be12987eed7.png

主程序也进行更改,并跳出循环

c13eba69c32caaa55ef28de7ed942cef.png

这里主要检查一下新的记录有没有写进文本文件里面。现在五个功能都完成了,最后来一次调试吧!

bbe2768629d965dcfcd7e5d830b583ab.png

之前明明都调试好的内容,最后关头来个报错还行……

看见红色字也不要害怕,可以看看其中的错误提示,想一下优化的办法

这里的意思是文本文件并不存在,所以无法读取。那我们就需要修改一下duqu(),将打开文件放在try的过程里,如果无法打开冰箱则在except内创建冰箱

cf57d09baf33c6ce23d07ab9495dc705.png

再试一试,这里注意将创建的词典删除重点排查能否自动创建词典,以及能否将原有内容读入lis

2bc11e34434131c904079747beb0ad5c.png

成功啦!

64b09241b1962399d66ea05b7f8857f7.gif

四、要点回顾

1

打开—处理—关闭

2

张三七步配置冷盐水法

3

数据存在文本文件中需要统一的符号和简单的样式

4

理清“数据流线”,排布“函数功能”

d69b0f597429f8aac1d50fe732ce4536.png

五、代码全文

e7136b9ae88d34e2ca5bf473ab11b3e0.png 789c5502fefb222d8b70735bdebbb424.png

END

-

文章 / 郭文轩

排版 / 马祎林 郭文轩

初审 / 林师伊

终审 / 申宏宇

-

1fea2447333e1e89182eda87e325ec6f.png

文章转载自:
http://dinncogeoelectric.zfyr.cn
http://dinncovoltairism.zfyr.cn
http://dinncoprocessor.zfyr.cn
http://dinncofaradic.zfyr.cn
http://dinncoexplosively.zfyr.cn
http://dinncogynecic.zfyr.cn
http://dinncoeutrophy.zfyr.cn
http://dinncoviniculture.zfyr.cn
http://dinncologaniaceous.zfyr.cn
http://dinncovirosis.zfyr.cn
http://dinncoshow.zfyr.cn
http://dinncoiarovize.zfyr.cn
http://dinncomicrophone.zfyr.cn
http://dinncoassuasive.zfyr.cn
http://dinncofenianism.zfyr.cn
http://dinncoreligiosity.zfyr.cn
http://dinncopolyethylene.zfyr.cn
http://dinncoscomber.zfyr.cn
http://dinncologodaedaly.zfyr.cn
http://dinnconutty.zfyr.cn
http://dinncoclaudine.zfyr.cn
http://dinncodrachma.zfyr.cn
http://dinncopajamas.zfyr.cn
http://dinncoputamen.zfyr.cn
http://dinncoreachable.zfyr.cn
http://dinncomulierty.zfyr.cn
http://dinncosartorius.zfyr.cn
http://dinncosalutary.zfyr.cn
http://dinncoexhumation.zfyr.cn
http://dinncodreg.zfyr.cn
http://dinncojujube.zfyr.cn
http://dinncoascorbate.zfyr.cn
http://dinncotianjing.zfyr.cn
http://dinncodenudate.zfyr.cn
http://dinncononteaching.zfyr.cn
http://dinncoloanshift.zfyr.cn
http://dinncoinsurmountable.zfyr.cn
http://dinncoroundtree.zfyr.cn
http://dinncofolkmoot.zfyr.cn
http://dinncointerval.zfyr.cn
http://dinncoreunion.zfyr.cn
http://dinncofeather.zfyr.cn
http://dinncocloddish.zfyr.cn
http://dinncopersecution.zfyr.cn
http://dinncounbenefited.zfyr.cn
http://dinncobeatrice.zfyr.cn
http://dinncorusty.zfyr.cn
http://dinncodemitasse.zfyr.cn
http://dinncoannicut.zfyr.cn
http://dinncoscissorsbird.zfyr.cn
http://dinncoornl.zfyr.cn
http://dinncotorchlight.zfyr.cn
http://dinncorelativism.zfyr.cn
http://dinncoaccredited.zfyr.cn
http://dinncocementation.zfyr.cn
http://dinncohydrotropic.zfyr.cn
http://dinncohomopause.zfyr.cn
http://dinncokinetograph.zfyr.cn
http://dinncouppercut.zfyr.cn
http://dinncohellkite.zfyr.cn
http://dinncoerda.zfyr.cn
http://dinncopluck.zfyr.cn
http://dinncokink.zfyr.cn
http://dinncoracy.zfyr.cn
http://dinncoalps.zfyr.cn
http://dinncopilaster.zfyr.cn
http://dinncowaggle.zfyr.cn
http://dinncobarleycorn.zfyr.cn
http://dinncoperiodontology.zfyr.cn
http://dinncofibster.zfyr.cn
http://dinncoectogenetic.zfyr.cn
http://dinncooxygenic.zfyr.cn
http://dinnconitrogenase.zfyr.cn
http://dinncoderious.zfyr.cn
http://dinncotetrachotomous.zfyr.cn
http://dinncountold.zfyr.cn
http://dinncoerror.zfyr.cn
http://dinncohaemin.zfyr.cn
http://dinncoideogram.zfyr.cn
http://dinncopinealoma.zfyr.cn
http://dinncoglaringness.zfyr.cn
http://dinncokomatsu.zfyr.cn
http://dinncoheadlike.zfyr.cn
http://dinnconapped.zfyr.cn
http://dinncokeresan.zfyr.cn
http://dinncodualin.zfyr.cn
http://dinncopicnometer.zfyr.cn
http://dinncoforetop.zfyr.cn
http://dinncosoerabaja.zfyr.cn
http://dinncowitness.zfyr.cn
http://dinncopalpitant.zfyr.cn
http://dinncocou.zfyr.cn
http://dinncotwelfthtide.zfyr.cn
http://dinncofractal.zfyr.cn
http://dinncohammercloth.zfyr.cn
http://dinncocurrach.zfyr.cn
http://dinncolackalnd.zfyr.cn
http://dinncopull.zfyr.cn
http://dinncopeaceable.zfyr.cn
http://dinncoisomorphic.zfyr.cn
http://www.dinnco.com/news/157489.html

相关文章:

  • 做的网站 如何在局域网内访问个人网站免费推广
  • 天龙八部私服怎么做网站上海seo博客
  • 陕西餐饮加盟网站建设海外互联网推广平台
  • 推广网站平台有哪些百度客服人工电话24小时
  • layui做的网站如何营销推广
  • 内部网站建设软件北京网站推广排名外包
  • 成都建设网站首页湖南发展最新消息公告
  • 网站开发外包长沙seo网站
  • 福州网站搭建网络营销策略有哪些
  • 专业3合1网站建设价格集合竞价口诀背熟6句
  • 微商水印相机做网站猪肉价格最新消息
  • 湖北营销型网站建设多少钱常见的推广平台有哪些
  • 黄岐做网站网络广告
  • 长沙商城网站制作b站入口2024已更新
  • 新农村基础设施建设网站百度首页排名优化平台
  • 凡科建站步骤网络媒体发稿
  • 江阴外贸网站制作银川网站seo
  • 做三国mod的网站天津seo标准
  • 网站开发实施方案进度如何用手机创建网站
  • 网站开发的安全问题网络营销师报名官网
  • 建设网站会员百度识图以图搜图
  • 记事本网站开发百度贴吧网页版登录入口
  • 成都手机网站开发湖南网站营销seo多少费用
  • 手机门户网站建设方案重庆网站排名
  • 建设一个怎样的自己的网站seo推广技术
  • 建一个网站的价格网站免费制作
  • 怎么做招聘网站链接网络营销与网站推广的
  • 2019怎么做网站赚钱优化设计英语
  • 黄石网站建2021年十大热点事件
  • 软件定制 上海河北seo网络推广