# Python ATM系统 **Repository Path**: LjiaHong/shuaige ## Basic Information - **Project Name**: Python ATM系统 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-14 - **Last Updated**: 2022-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # **项目基本功能** _**当前的ATM系统模拟实现银行ATM机的操作系统功能**_ _**1.注册:**_用户名,手机号(11位),身份码(6位),密码(两次确认,长度6位以上,字母开头,可并且包含数字或下划线) _**2.查询:**_卡号必须存在,密码(三次机会,不对就锁卡) _**3.取款:**_卡号必须存在,密码(三次机会,不对就锁卡),取款金额不能大于余额,并且不能低于零 _**4.存款:**_卡号必须存在,存款金额不能低于零 _**5.转帐:**_你的卡号,收款卡号都必须存在,密码(三次机会,不对就锁卡),转账金额不能超过余额,也不能低于零 _**6.锁卡:**_账号必须存在,可以使用密码冻结,还可以使用身份证号冻结 _**7.解卡:**_账号必须存在,只能使用身份码进行解锁 _**8.补卡:**_使用身份码进行补卡,每个身份码只能有一张卡,之前的卡作废 _**9.改密:**_对原密码进行更改,也可以使用身份码进行改密 _**10.退出:**_保存数据 # **项目分析** **银行卡对象:Card存储银行卡信息** - 卡号 cardid(不可重复) - 密码 password(长度6位以上,字母开头,并包含数字或下划线) - 余额 money(不能低于0) - 是否锁卡 islock(默认不锁) **用户对象:Person存储用户信息** - 用户名 name - 身份证号 userid(重复) - 手机号 phone(11位) - 卡 card **视图对象:views显示操作** - 欢迎界面、操作界面 **ATM对象:Controller** - 控制器对象中主要就是去实现ATM这个系统中主要功能 - 注册(regiser)、查询(query)、取款(get_money)、存款(add_money)、转帐(save_money)、锁卡(lock)、解卡(unlock)、补卡(new_card)、改密(change_pwd)、退出(save) **存储数据:用文件进行存储。** - 卡号:用户--> user_dict --> user.txt - 身份证:卡号--> user_id_dict --> userid.txt **扩展功能:增加交易记录** - 就像存折一样,每次对金额的变动都需要记录下来 - 每个银行卡都有自己的交易记录