Python练习项目——模拟ATM机登录系统

本文介绍如何使用Python编程构建一个银行ATM模拟系统,包括登陆验证、用户注册、账户管理等功能。系统连接MySQL数据库,支持用户名密码验证、账户余额查询、转账、存取款操作。所有信息持久保存,且通过命令行交互,无需GUI界面。
摘要由CSDN通过智能技术生成

一、题目要求:

通过Python编程完成一个银行ATM机模拟系统,具备如下功能:

(1)登陆验证:用户输入用户名密码登陆,检测用户名是否存在以及用户名密码是否匹配;用户名密码各有三次输入机会,超过三次系统退出。
(2)菜单界面:登陆成功后显示功能操作界面,输入序号选择对应功能。
(3)用户注册:用户可以输入用户名和密码创建自己的账号,并输入电话号码等信息,如果用户名存在则让用户重新输入用户名。注册后免费赠送5000元余额。
(4)账户管理:用户可以随时查看自己的账户余额。用户可以输入其他账户用户名,实现转账功能;用户名必须存在。用户也可以模拟实现存取款功能。
(5)用户名和密码以及账户信息等必须永久保存。且基于命令行完成,不需要开发GUI界面。

二、实现过程:

1.连接MySQL数据库、建立数据表、给数据表中插入数据:

如果事先没有建立数据表,则需在程序中加上这一部分代码,但运行一次后需删除这部分内容,因为二次运行后会导致之前存放的数据丢失;如果数据表事先已经建立好,则不需再编写这部分内容

#coding=utf-8
import MySQLdb

conn = MySQLdb.connect(host='127.0.0.1',port=3306,user='root',passwd='971012',db='test',charset="utf8") #连接mysql数据库
cursor = conn.cursor() #获取游标来进行查询

##########创建数据表用来存放用户信息###########
sql = '''CREATE TABLE IF NOT EXISTS userinfoes (
         user  VARCHAR(20),
         password  VARCHAR(6),
         age VARCHAR(3),  
         sex VARCHAR(5),
         mobile VARCHAR(11),
         balance FLOAT(12,2))'''
cursor.execute(sql)
sql = '''INSERT INTO userinfoes(user,
         password,age,sex,mobile,balance)
         VALUES ('luu','123456','19','woman','12345678900',10000)'''
cursor.execute(sql)

2.实现登录验证

def login():
    ##########判断用户名##########    
    print u'请输入你的用户名:'
    k=3 #记录输错次数
    while k:
        global username
        username = raw_input()
        userinfoes = "SELECT * FROM userinfoes WHERE user='%s'"%username #查询该用户是否存在
        j = cursor.execute(userinfoes) #满足该条件的数据条数

        if username == '':
            print u'用户名不能为空!'
        elif j == 0:
            k-=1
            if k!=0:
                print u'用户名错误,请重新输入:'
            else:
                print u'你已输错三次!'
                conn.close()
                cursor.close()
     
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值