• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: Python
  • 标签: ATM  Python  

资源简介

Python3实现的银行ATM系统,使用了SQLite数据库(Python自带无需安装)持久化储存数据.异常已捕获,剩了一个小bug不想去解决了.留给未来.

资源截图

代码片段和文件信息

import sqlite3

‘‘‘没有数据库时必须先 取消注释这段代码 执行一遍后即可正常使用程序了 再次注释 用户数据就可以保存到数据库了.‘‘‘
# def create_database():
#     ‘‘‘创建了一个数据库结构‘‘‘
#     conn = sqlite3.connect(database=‘atm_data.db‘)  # 创建一个数据库名称为atm_data.db
#     conn.execute(“DROP TABLE USERS; “)  # 删除USERS这个表
#     # 创建一个USERS表 里面创建一些字段 ID PASSWORD NAME MONEY
#     conn.execute(‘‘‘CREATE TABLE IF NOT EXISTS USERS
#                 (ID INT PRIMARY KEY     NOT NULL 
#                  PASSWORD    CHAR(16)   NOT NULL 
#                  NAME        TEXT(10)   NOT NULL 
#                  MONEY       REAL);‘‘‘)
#     conn.commit()  # 提交
#     conn.close()  # 关闭连接
# create_database()


def insert_db(ID_user PASSWORD_user NAME_user MONEY_user=0):
    ‘‘‘将用户输入的用户信息写入到数据库‘‘‘
    conn = sqlite3.connect(‘atm_data.db‘)  # 创建一个数据库链接
    cmd = “INSERT INTO USERS (IDPASSWORDNAMEMONEY) VALUES ({}\“{}\“\“{}\“{})“.format(ID_user PASSWORD_user
                                                                                           NAME_user
                                                                                           MONEY_user)  # 将用户输入的信息写入数据库
    print(cmd)
    conn.execute(cmd)  # 写入数据到数据库
    conn.commit()  # 提交
    conn.close()  # 关闭数据库链接


def del_db(user_ID):
    ‘‘‘注销账户用将账户的用户信息删除‘‘‘
    conn = sqlite3.connect(‘atm_data.db‘)  # 创建一个数据库链接
    cmd = “DELETE FROM USERS WHERE ID = {}“.format(user_ID)  # 命令
    conn.execute(cmd)  # 删除该账号
    # 验证一下用户名 和 密码 确认删除 否则 return 请重新输入账号
    conn.commit()
    conn.close()


def register_user():
    ‘‘‘注册 / 注销 用户输入信息入口‘‘‘
    while True:
        try:
            user_ID = int(input(‘请输入您的账号:\n‘))
            user_password = str(input(‘请输入您的密码:\n‘))
            user_password2 = str(input(‘请再次输入您的密码:\n‘))
            user_name = str(input(‘请输入开户人的姓名:\n‘))
        except:
            print(‘输入信息不符合规范请重试...‘)
            continue
        listA = [user_ID user_password user_password2 user_name]  # 将用户输入的信息以列表的方式返回.
        return listA


def login_user():
    ‘‘‘登录信息录入‘‘‘
    while True:
        try:
            user_ID = int(input(‘请输入您需要登录的账号:\n‘))
            user_password = str(input(‘请输入您的密码:\n‘))
        except:
            print(‘登录信息有误请重试.‘)
            continue
        listA = [user_ID user_password]  # 将用户输入的信息以列表的方式返回.
        return listA


class Database():
    ‘‘‘定义了一个数据库操作类.‘‘‘

    def __init__(self id):
        self.id = id  # 当用户登录成功后 记录登录id

    def select_db(self):
        ‘‘‘查询该账户的所有信息‘‘‘
        conn = sqlite3.connect(‘atm_data.db‘)  # 创建一个数据库链接
        message = conn.execute(“SELECT MONEY FROM USERS WHERE ID = {}“.format(self.id))  # 查询该用户信息的SQL语句
        for i in message:
            print(‘你余额为:{}‘.format(i))
            conn.commit()
            conn.close()
            return i
        else:
            return ‘没有此用户的信息...‘

    def select_other_db(self other_ID):
        ‘‘‘查询该账户的所有信息‘‘‘
        conn = sqlite3.connect(‘atm_d

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      12288  2018-09-07 09:35  atm_data.db

     文件      16703  2018-09-07 10:15  atmDatebase.py

----------- ---------  ---------- -----  ----

                28991                    2


评论

共有 条评论