python3实现ATM自助取款机程序

该博客介绍了如何使用Python3编写一个ATM自助取款机程序,涵盖了注册、查询、存钱、取钱、转账、修改密码、锁定和解锁卡片以及补办新卡等功能。程序利用了pymysql库进行数据操作,并通过模拟用户交互实现ATM机的各种操作。
摘要由CSDN通过智能技术生成

python3实现ATM自助取款机程序

import pymysql
import random

class Atmsql():

def __init__(self):
    # 连接mysql数据库  localhost:连接本地数据库
    self.data = pymysql.connect(host="localhost", user="root", password="123456", database="gangge")
    # 创建一个游标来执行sql
    self.cursor = self.data.cursor()

# 获取atm库中所有卡号
def atm_card(self):
    sql_card = 'select 卡号 from atm;'
    self.cursor.execute(sql_card)
    card = self.cursor.fetchall()
    list_card = []
    for i in card:
        for j in i:
            list_card.append(j)
    return list_card

# 根据输入卡号获取余额
def atm_money(self,card):
    sql_money = 'select 余额 from atm where 卡号="{}"; '.format(card)
    self.cursor.execute(sql_money)
    tuple_money = self.cursor.fetchone()
    for money in tuple_money:
        return money

# 根据输入卡号获取密码
def atm_password(self,card):
    sql_pwd = 'select 密码 from atm where 卡号="{}"; '.format(card)
    self.cursor.execute(sql_pwd)
    tuple_pwd = self.cursor.fetchone()
    for pwd in tuple_pwd:
        return pwd

# 根据输入卡号获取卡状态
def atm_islock(self,card):
    sql_islock = 'select 卡状态 from atm where 卡号="{}"; '.format(card)
    self.cursor.execute(sql_islock)
    tuple_islock = self.cursor.fetchone()
    for islock in tuple_islock:
        return islock

# 根据输入卡号获取账户名
def atm_name(self, card):
    sql_pwd = 'select 账户名 from atm where 卡号="{}"; '.format(card)
    self.cursor.execute(sql_pwd)
    tuple_name = self.cursor.fetchone()
    for name in tuple_name:
        return name

# 根据输入卡号获取身份证
def atm_sfz(self, card):
    sql_sfz = 'select 身份证 from atm where 卡号="{}"; '.format(card)
    self.cursor.execute(sql_sfz)
    tuple_sfz = self.cursor.fetchone()
    for sfz in tuple_sfz:
        return sfz

# 根据输入卡号修改卡状态
def new_islock(self,islock,card):
    sql_islock = 'update atm set 卡状态={} where 卡号="{}";'.format(islock,card)
    self.cursor.execute(sql_islock)
    self.data.commit()

# 根据输入卡号修改卡余额
def new_money(self,money,card):
    money = 'update atm set 余额="{}" where 卡号="{}";'.format(money,card)
    self.cursor.execute(money)
    self.data.commit()

# 根据输入卡号修改卡密码
def new_pwd(self, pwd, card):
    pwd = 'update atm set 密码="{}" where 卡号="{}";'.format(pwd,card)
    self.cursor.execute(pwd)
    self.data.commit()

# 根据输入卡号修改卡号     # 避免一个身份证只能办一张卡的问题
def new_sql_card(self,card,new_card):
    sql_id = 'select id from atm where 卡号="{}"; '.format(card)
    self.cursor.execute(sql_id)
    tuple_id = self.cursor.fetchone()
    for id in tuple_id:
        sql_card = 'update atm set 卡号="{}" where id={};'.format(new_card,id)
        self.cursor.execute(sql_card)
        self.data.commit()

# 用户名检测
def user_name(sel
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值