python 建立一个新的项目 银行存款取款管理系统

'''

建立一个新的项目


写一个类,用户,
属性有,用户名,密码,当前存款值



有注册功能
有登录功能
登录成功,可以存款
登录成功,可以取款
退出


数据库,可以是本地数据库,可以是网络数据库

如果是网络数据库,在项目里建立一个记事本文件   requirements.txt  他帮你自动保存三方模块版本
'''

import pymysql


# 以下是个类,可以单独成为一个模块
class User:
    def __init__(self, name, pwd, money=0):
        self.name = name
        self.pwd = pwd
        self.money = money

    #   存款
    def cunkuan(self, money):
        self.money += money
        print(f"存款成功,当前存款为{self.money}")

    #   取款
    def qukuan(self, money):
        if self.money >= money:
            self.money -= money
            print(f"取款成功,当前存款为{self.money}")
        else:
            print("余额不足")

    # 当前存款
    def get_money(self):
        return self.money

    def set_money(self):
        return self.money

    def show_money(self):
        print(f"当前存款为{self.money}")

    def __str__(self):
        return f"用户名:{self.name},密码:'******',当前存款为{self.money}"


# 查找某用户是否存在

def find_user(user):
    """
    分析 user是否在表中
    :param user:用户类
    :return:
    """
    name = user.name
    conn = pymysql.connect(
        host="mysql.sqlpub.com",
        port=3306,
        user="laocooon",
        password="fc12f7a5215e8e0a",
        database="huangjin",
    )
    c = conn.cursor()
    c.execute("SELECT name,password,money FROM user1 WHERE name=%s", (name,))
    result = c.fetchone()
    if result:
        return User(result[0], result[1], result[2])
    else:
        return None


# 注册新用户
def register_user(name, pwd):
    user = User(name, pwd, 0)

    if find_user(user):
        print("用户已存在")
        return

    conn = pymysql.connect(
        host="mysql.sqlpub.com",
        port=3306,
        user="laocooon",
        password="fc12f7a5215e8e0a",
        database="huangjin",
    )
    c = conn.cursor()
    c.execute("INSERT INTO user1(name,password,money) VALUES (%s,%s,%s)", (user.name, user.pwd, user.money))
    conn.commit()
    c.close()
    conn.close()
    print("注册成功")

    # 登录


def login_user(name, pwd):
    user = find_user(User(name, pwd, 0))

    if not user:
        print("用户不存在")
        return user

    if user.pwd != pwd:
        print("密码错误")
        return
    print(user)
    return user


# 存款

def deposit(user, money):
    user.money += money
    conn = pymysql.connect(
        host="mysql.sqlpub.com",
        port=3306,
        user="laocooon",
        password="fc12f7a5215e8e0a",
        database="huangjin",
    )
    c = conn.cursor()
    c.execute("UPDATE user1 SET money=%s WHERE name=%s", (user.money, user.name))
    conn.commit()
    c.close()
    conn.close()
    print("存款成功")


# 取款
def withdraw(user, money):
    if user.money < money:
        print("余额不足")
        return
    user.money -= money
    conn = pymysql.connect(
        host="mysql.sqlpub.com",
        port=3306,
        user="laocooon",
        password="fc12f7a5215e8e0a",
        database="huangjin"
    )
    c = conn.cursor()
    c.execute("UPDATE user1 SET money=%s WHERE name=%s", (user.money, user.name))
    conn.commit()
    c.close()
    conn.close()
    print("取款成功")


while True:
    print("1 注册")
    print("2 登录")
    print("3 退出")
    choice = input("请输入选项:")
    if choice == "1":
        name = input("请输入用户名:")
        pwd = input("请输入密码:")
        pwd1 = input("请再次输入密码:")
        if pwd != pwd1:
            print("两次密码不一致")
            continue
        register_user(name, pwd)
    elif choice == "2":
        name = input("请输入用户名:")
        pwd = input("请输入密码:")
        user = login_user(name, pwd)
        if user:
            print("登录成功")
            """登录成功后,操作取款或存款"""

            while True:
                print("1 存款")
                print("2 取款")
                print("3 查看")
                print("4 退出")
                choice1 = input("请输入选项:")

                if choice1 == "1":
                    money = int(input("请输入存款金额:"))
                    deposit(user, money)

                elif choice1 == "2":

                    money = int(input("请输入取款金额:"))
                    withdraw(user, money)
                elif choice1 == "3":
                    print(user)
                elif choice1 == "4":

                    break
                else:
                    print("无效选项")
            pass
        else:
            print("用户名或密码错误")
            continue

    elif choice == "3":
        break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值