ATM專案分析

2022-01-10 15:02:06 字數 3398 閱讀 7972

其實本專案的需求分析乍一看比較複雜,但是細細拆分出來實際實現還是比較容易的。基本用上前面所學的所有知識點。

1.額度 15000或自定義

2.實現購物商場,買東西加入購物車,呼叫信用卡介面轉賬

3.可以提現,手續費5%

4.支援多賬戶登入

5.支援賬戶間轉賬

6.記錄每日消費流水

7.提供還款介面

8.atm記錄操作日誌

9.提供管理介面,包括新增賬戶,使用者額度,凍結賬戶等...

10.使用者認證使用裝飾器

關於本專案源**已上傳到github,感興趣的朋友可點選此處點我啊帥哥!

, 如果解決辦法目錄中沒有hosts檔案,那麼請將lmhosts.sam中的內容另存為hosts檔案即可:

檢視說明文件,其中羅列了一些比較重要的知識點。

這裡列舉一下該專案目錄功能:

db_handler.py中,有一段**我認為比較不錯。

這段**在註冊以及登入時都會用到,那麼我當時在寫註冊功能時是有些不太能理解的。為什麼要判斷乙個儲存使用者資料的json檔案是否存在後還要開啟它並返回其中的使用者字典呢?直接判斷檔案是否存在不就好了嗎?

覺得有些不能理解,但是我後來發現基本上需求中的每乙個實現函式都是呼叫了該方法並且直接在user_dic中拿到了資料,此時我才恍然大悟。

這段**是在common.py中:

其實我對模組這一章印象還是比較深刻的,但是確實沒有意識到迴圈匯入的問題,以致於這裡我也是看了好一會才看明白,首先src.py中匯入過一次common.py,如果將common.py中的from core import src放在函式體外就會產生迴圈匯入的問題

,這一點應該是我在這個專案中學習到最重要的一點了。

src.py中的import

common.py中的import

這個點在src.py中購物商場函式中:

說來慚愧,列舉之前有學過,但是這玩意兒確實不太常用,基本上一次沒用過,所以已經忘得差不多了。所以這邊記錄一下,其實在python的for迴圈中只要資料結構特殊,是可以容納兩個迭代變數的。如:

item = [(1,"

第乙個"),(2,"

第二個"),(3,"

第三個")] #

這種結構可以直接被dict()所消化

item_dic =dict(item)

print(item_dic) #

print(list(item_dic.items())) #

[(1, '第乙個'), (2, '第二個'), (3, '第三個')]

for k,v in

item:

print

(k,v)

"""1 第乙個

2 第二個

3 第三個

"""li = [i for i in

item_dic.values()]

li_enu =list(enumerate(li))

print(li_enu) #

[(0, '第乙個'), (1, '第二個'), (2, '第三個')] 第乙個是索引,第二個是元素本身

for index,ele in

li_enu:

print

(index,ele)

"""0 第乙個

1 第二個

2 第三個

"""

這一點的疑惑完全怪自己json沒學明白,可以看到下圖在註冊時直接存入的是int型別。然後json後儲存到了本地檔案中。

在其他需要用到金額的功能時我產生了疑惑,因為我認為json儲存的拿出來是字串需要進行一次int()轉換,所以這裡看見並沒有做int轉換而是直接進行加減。當時我就蒙了...

所以,我進行了乙個小測試,這點估計很多人都知道或者會忽略,但是!我不知道!!所以寫下來釘在恥辱柱上,請盡情嘲諷吧!!!

import

json

data = 1json_data =json.dumps(data)

print(type(json_data)) #

print(type(json.loads(json_data))) #

#可以看到json拿出來的直接就是int型別,不必再做轉換

這乙個專案我之前確實沒有手寫過完整的,不管是抄也好自己寫也好都沒有。所以最近拿出來抄了抄發現還是有一些能讓自己提公升的空間的,比如列舉!!!真的是八百年難用一次啊。所以告誡各位同學,永遠不要自大,很多細小的點真的很容易被人忽略,輕則難看(就算我用int()轉換一次json格式實際上也沒什麼影響,但是我確實是強迫症,不容忍自己犯這種錯誤),重則異常。

spring mvc 專案分析

分包 controller dao dao.impl service service.impl model util 資料校驗 資料轉換 資料計算等 在model包新建乙個page類以便分頁操作 建立乙個servicemanager來管理service 配置檔案 分三個 hibernate 資料來源...

DTMF VAD 專案分析

這一專案是準確的找出dtmf訊號的起點,當檢測到後,觸發dtmf decoder,對此後接收的資料進行解碼,等到相應的撥號鍵值。1.分析輸入訊號特徵 訊號是dtmf訊號加通道中的電路雜訊,現初步分析,這背景雜訊是高斯背景雜訊,這種雜訊好在對dtmf頻率特性損失不是很大,這樣問題會好解決一點。2.訊號...

專案分析 PLUG

plug過程 1.init plug define init plug plug initplug g initplug true 共享記憶體資料結構 struct plugsharememory inline void createsharememory i plugmodulemanage pm...