小型ATM存取款系统(python)

小型ATM存取款系统是一个非常常见的小项目,适合于python入门学习。

本文实现的小型ATM存取款系统将使用文件来存储数据,并不涉及数据库。

首先,需要在同一目录下创建三个文件,分别是 ATM.py ,person.txt,card.txt 。

person.txt 用于存储用户信息。

card.txt 用于存储卡号信息。

然后,ATM.py 的代码实现如下:

import random
import time
class Views:
    def welcome(self):
        print('***********************************************')
        print('*            Welcome to bank!                 *')
    def ATM_loading(self):
        print('***********************************************')
        print('请稍后,ATM自动存取款系统加载中...')

    def ATM_main(self):
        print('************************************************')
        print('*         (1)登录      (2)注册                  *')
        print('*         (3)锁卡      (4)解卡                  *')
        print('*         (5)补卡      (6)退出                 *')
        print('************************************************')
    def user_main(self):
        print('************************************************')
        print('*         (1)查询      (2)存钱                  *')
        print('*         (3)取钱      (4)转账                  *')
        print('*         (5)改密      (6)退出                  *')
        print('************************************************')

class Card:
    cardid = None
    password = None
    money = None
    islock = None
    def __init__(self, cardid, password, money, islock):
        self.cardid = cardid
        self.password = password
        self.money = money
        self.islock = islock
    def msg(self):
        ret = f'{self.cardid} {self.password} {self.money} {self.islock}\n'
        return ret

class Person:
    name = None
    userid = None
    phone = None
    cardid = None
    def __init__(self, name, userid, phone, cardid):
        self.name = name
        self.userid = userid
        self.phone = phone
        self.cardid = cardid
    def msg(self):
        ret = f'{self.name} {self.userid} {self.phone} {self.cardid}\n'
        return ret
class user_control:
    user_msg = None
    card_msg = None
    def __init__(self, user_msg, card_msg):
        self.user_msg = user_msg
        self.card_msg = card_msg
    def check_money(self):
        print(f'用户名: {self.user_msg[0]}')
        print(f'卡号: {self.user_msg[3]}')
        print(f'余额: {self.card_msg[2]}')

    def save_money(self):
        num = int(input('请输入您需要存入的金额:'))
        fc = open('./card.txt', 'r', encoding='utf-8')
        lines = fc.readlines()
        fc.close()
        lines = [line for line in lines if line.split()[0] != self.card_msg[0]]
        self.card_msg[2] = str(int(self.card_msg[2]) + num)
        line = f'{self.card_msg[0]} {self.card_msg[1]} {self.card_msg[2]} {self.card_msg[3]}\n'
        lines.append(line)
        fc = open('./card.txt', 'w', encoding='utf-8')
        fc.close()
        fc = open('./card.txt', 'a', encoding='utf-8')
        for line in lines:
            fc.write(line)
        fc.close()
        time.sleep(1)
        print(f'成功存入{num}元')
    def get_money(self):
        num = int(input('请输入您需要取出的金额:'))
        fc = open('./card.txt', 'r', encoding='utf-8')
        lines = fc.readlines()
        fc.close()
        lines = [line for line in lines if line.split()[0] != self.card_msg[0]]
        self.card_msg[2] = str(int(self.card_msg[2]) - num)
        line = f'{self.card_msg[
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值