python初学ATM小项目

这个博客适合Python初学者,介绍了一个简单的ATM自动存取款系统项目的实现,包括注册、查询、存取款、转账、锁卡、解卡、补卡、改密等操作。项目涉及Card、Person、View和Operation类的设计,强调了输入合法性判断、数据持久化存储等要点。
摘要由CSDN通过智能技术生成

**

  • 此次内容适用于python初学者

**
一、基础阶段项目要求
1.ATM自动存取款系统的程序
1.注册(用户名,手机号,身份证号(18位),密码(确认两次)(长度6位))
2.查询(账号(必须存在),密码(确认3次,不对就锁卡))
3.取款(账号(必须存在),密码(确认3次,不对就锁卡))
4.存款(账号(必须存在),金额不能低于0,存款的金额必须是纯数字)
5.转账(你的账号,被转的账号(都必须存在),你的密码(确认3次,不对就锁卡),转账的金额不得超过你的余额,必须是纯数字)
6.锁卡(账号(必须存在),密码冻结,身份证锁(身份证的长度))
7.解卡(账号(必须存在),身份证解)
8.补卡(身份证(每个身份证一张卡))
9.改密(原密码改密(确认密码),身份证改密)
10.退出(保存)
2.写项目报告
1.姓名,所在班级,指导老师
2.项目功能汇总
3.每个功能的名字,逻辑判断关系
4.项目总结(心得)
二、需求分析

Card 存储卡的信息

卡号,密码,余额,是否锁定
cardid,password,money,islock

Person 用户类,存储用户信息的

用户名,身份证号,手机号,卡(上一个卡(对象))
name,userid,phone,card

View 视图界面

登陆(管理员账号登陆),欢迎界面,操作界面

#Operation类(具体的操作功能实现)
把我们需要的十个功能都放在这个类里

#Main 在这个类里面实现所有的操作。
1.注册:register
2.查询:query
3.存钱:save_money
4.取钱:get_money
5.转账:trans_money
6.改密:change_pwd
7.锁卡:lock
8.解卡:unlock
9.补卡:new_card
0.退出:save

卡号:用户 user_dict user.txt
身份证:卡号 user_id_dict userid.txt

三、银行ATM机功能文档
模拟银行取款等功能文档说明:
主要实现功能:
一.实现注册银行卡功能
二. 实现查询银行卡余额功能
三. 实现存款功能
四. 实现取款功能
五. 实现转账功能
六. 实现银行卡更换密码功能
七. 实现银行卡冻结功能
八. 实现银行卡解封功能
九. 实现补卡功能
零.结束程序,保存数据到文件
注意:输入值判断是否合法,是否为空,是否不存在等,模块的导入。只有触发0时数据才被存到文件中,否则数据丢失。

详细分析:根据以上功能设计五个类
1.Card(卡类)
属性: 卡号(cardid) 银行卡密码(password) 银行卡余额(money)
默认是否锁卡islock = False
2.Person(用户类)
属性: 用户名(name) 身份证号(userid) 手机号(phone) 银行卡(card)
3.View(管理员登录入口 及 页面操作显示)
4.Operation (操作类 主要功能封装在此类中)
第零部分:
(一)定义初始化方法: 加载{卡号:用户},加载{身份证号:用户}
(二)定义save方法:把数据写入到文件中
(三)定义load_user方法: 如果文件存在,读取内容给字典;如果不存在,定义字典为空。
(四)定义load_user_id方法:如果文件存在,读取内容给字典;如果不存在,定义字典为空。
第一部分(注册):
(一)定义register方法:输入用户名、身份证号、手机号、判断是否合法,调用get_pwd方法得到密码;银行卡余额定义为10;实例化银行卡类及用户类。
添加到字典里:
user.txt =>卡号: 用户 => user_dict
userid.txt =>身份证:卡号 => user_id_dict
开户成功
(二)定义get_pwd方法:判断密码两次是否相等,调用try_pwd方法
(三)定义try_pwd方法:判断密码是否合法
(四)定义get_card_id方法:随机获取不重复的银行卡号,
第二部分(查询):
(一)定义query方法:调用get_card_info方法,如果卡对象存在,查看此卡是否被冻结,冻结则提示;没冻结,则调用check_pw

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值