# simple-atm-controller
Code for simple ATM
Python 3.8, vscode를 기반으로 코드를 작성하고 테스트하였음.
## 구현 설명
- AtmController Class(atm_controller.py)
- ATM을 제어하는 클래스
- 생성자는 ATM과 연결된 Bank, CashBin, CardReader 객체를 받음
- input_pin 메서드는 선택된 Card Number에 사용할 Pin 입력
- authentication 메서드는 Bank 객체로부터 Card Number와 연결된 Pin이 유효한지 확인
- select_account 메서드는 계좌를 입력받아 해당 계좌가 유효한지 확인
- control_account 메서드는 control type을 입력받아 See Balance, Deposite, Withdraw 기능을 수행
- Bank Class(bank.py)
- 가상의 은행 객체
- 은행에 연결된 카드정보를 저장
- add_account 메서드는 Card Number, Pin, Account, Balance를 입력받아 저장
- 계좌 정보는 card_numbers dict 맴버에 저장
- Card Number는 임의의 문자열
- Pin은 임의의 숫자로 이루어진 문자열
- Account는 임의의 문자열
- Balance는 0 이상의 정수
- Card Number, Pin, Account, Balance는 다음과 같은 형식으로 저장
``` python
# Select Account 단계가 있으므로 하나의 카드에 여러개의 계좌가 연결될 수 있다고 가정
# Card Number와 Account 제거 기능은 추가로 구현하지 않음
self.card_numbers = {
"Card Number":[
"Pin",
{
"Account1": balance1,
"Account2": balance2,
.....
}
]
}
```
- check_pin 메서드는 AtmController 클래스의 check_pin메서드와 연관되어 Card Number와 Pin을 입력받아 해당 Pin이 유효한지 확인 후 연결된 계좌 정보 반환
- control_balance는 Card Number, Account, Amount를 입력받아 해당 계좌의 잔고를 제어(+,-)
- get_balance메서드는 Card Number - Account에 남아있는 잔고 출력
- CashBin Class(cash_bin.py)
- 현금통에대한 클래스
- get_balance 메서드는 현재 CashBin에 남아있는 현금이 얾마나 되는지 확인
- deposit 메서드는 CashBin에 현금 저장
- withdraw 메서드는 CashBin에서 현금 출금
- CardReader Class(card_reader.py)
- 카드리더에 대한 클래스
- get_card_number는 카드리더기에 삽입된 카드의 번호를 반환
## 실행 방법
``` bash
# 저장소 복사
git clone https://github.com/chulpyo/simple-atm-controller.git
cd simple-atm-controller
# 가상환경 생성
mkdir venv
cd venv
python -m venv atm_venv
# 가상환경 활성화
cd ..
.\venv\atm_venv\Scripts\activate
# 필요 패키지 설치
python -m pip install -r requirements.txt
# 테스트 실행
pytest
```
没有合适的资源?快使用搜索试试~ 我知道了~
simple-atm-controller:简单ATM的代码
共8个文件
py:5个
gitignore:1个
txt:1个
需积分: 9 1 下载量 147 浏览量
2021-04-18
04:54:23
上传
评论
收藏 8KB ZIP 举报
温馨提示
简单的ATM控制器 简单ATM的代码 我编写并测试了基于Python 3.8 vscode的代码。 实施说明 AtmController类(atm_controller.py) 控制ATM的类 构造函数接收连接到ATM的Bank,CashBin和CardReader对象 input_pin方法输入用于所选卡号的引脚。 身份验证方法检查从Bank对象连接到卡号的Pin是否有效。 select_account方法接收一个帐户并检查该帐户是否有效。 control_account方法接收控件类型并执行“见余额,存款,取款”功能。 银行类别(bank.py) 虚拟银行对象 保存链接到银行的卡信息 add_account方法接收并存储卡号,密码,帐户和余额。 帐户信息存储在card_numbers dict成员中 卡号是任意字符串 Pin是一串随机数字 帐户是任意字符串 余额是大于或等
资源详情
资源评论
资源推荐
收起资源包目录
simple-atm-controller-main.zip (8个子文件)
simple-atm-controller-main
test_atm_controller.py 6KB
card_reader.py 491B
bank.py 2KB
requirements.txt 19B
.gitignore 2KB
atm_controller.py 4KB
README.md 3KB
cash_bin.py 784B
共 8 条
- 1
吉莫吉鱼
- 粉丝: 15
- 资源: 4591
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0