一、優(yōu)缺點(diǎn)分析
1、缺點(diǎn):?
① 數(shù)學(xué)問(wèn)題的生成中只考慮了消除乘除法加括號(hào)的無(wú)效情況(例如3*(4+5)或(6*5)/2這樣的計(jì)算),但沒(méi)有去掉加減法加括號(hào)的無(wú)效情況(例如(4+(7+8))或(3-(2-1)));
?
?
?
② 項(xiàng)目代碼中變量的命名沒(méi)有嚴(yán)格安裝規(guī)范來(lái),有些命名有點(diǎn)相似且無(wú)特定含義,給閱讀代碼的過(guò)程中造成了不小的困難,不方便理解,看起來(lái)會(huì)有些混亂。
2、 優(yōu)點(diǎn)
① 代碼是用python寫(xiě)的,能夠熟練運(yùn)用各種循環(huán)判斷語(yǔ)句和列表,并且其中用到了許多便利簡(jiǎn)潔的函數(shù),比如getcwd()獲取文件地址、lstrip()截掉左邊字符串、re.match()通過(guò)正則表達(dá)式進(jìn)行匹配等等;
② 一對(duì)括號(hào)的插入,是在已知固定操作數(shù)個(gè)數(shù)的情況下,在包含所有括號(hào)對(duì)可能位置的列表中,random挑選能夠插入的位置,因此得出來(lái)的數(shù)學(xué)題具有一定隨機(jī)性,這個(gè)算法思路很獨(dú)特;
?
?
?
?
③ 代碼中對(duì)于中文字符的處理非常簡(jiǎn)便,值得參考,主要是要記得保存基本信息txt為utf-8的格式,調(diào)用open函數(shù)時(shí)也encoding=“utf-8”方式打開(kāi),然后就可以直接進(jìn)行處理了;
?
?
?
④ 初高中的數(shù)學(xué)題要求插入根號(hào)平方和三角函數(shù),因?yàn)閞andom.random()范圍是[0,1),所以將其與小于1的數(shù)(比如0.3、0.5)做比較,以此來(lái)達(dá)到隨機(jī)的目的;
?
二、具體功能實(shí)現(xiàn)
1、InputInformation():錄入附表中基本信息,用read函數(shù)讀取txt文件,并根據(jù)換行符分割成列表:
?
?
2、LandAccount():登入個(gè)人賬戶(hù),首先通過(guò)find判斷輸入格式是否正確,接著在列表中循環(huán),看是否匹配到正確的賬戶(hù)名和密碼:
?
?
3、GenerateQuestions():隨機(jī)生成小初高的數(shù)學(xué)題,用了random函數(shù)實(shí)現(xiàn)隨機(jī)化,并且還要去除掉括號(hào)的無(wú)效情況;
4、OutputFiles():生成文件夾和數(shù)學(xué)題txt,用datetime得到當(dāng)前時(shí)間并格式化轉(zhuǎn)為字符串,之后生成相應(yīng)文件:
?
?
?
5、OldFiles():用于查重,將過(guò)去同一賬戶(hù)同一學(xué)歷生成的題目保存到一個(gè)字符串中,并在生成每個(gè)數(shù)學(xué)題時(shí)通過(guò)find來(lái)比較是否有相同的題目:
?
?
?
三、?? 個(gè)人總結(jié)
我使用的是C++進(jìn)行書(shū)寫(xiě),在寫(xiě)完后才發(fā)現(xiàn)用這種語(yǔ)言寫(xiě)的童鞋比較少,后來(lái)想想發(fā)現(xiàn)C++書(shū)寫(xiě)的代碼量較大,書(shū)寫(xiě)不易;在當(dāng)今計(jì)算機(jī)軟件開(kāi)發(fā)的行業(yè)中多數(shù)使用python進(jìn)行敏捷開(kāi)發(fā);而且python語(yǔ)言獨(dú)立于平臺(tái)性質(zhì),同時(shí)開(kāi)發(fā)周期短,程序員易于上手;同時(shí)底層封裝性強(qiáng),代碼更加簡(jiǎn)潔;
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
