import os
class ATM:
@staticmethod
def regst():
while 1:
nm = input('请输入你的名字:')
mm = input('请输入你的密码:')
mm1 = input('请再次输入你的密码:')
if mm == mm1:
print('注册成功')
money=input('输入你存的钱:')
user=User(nm,mm,money)
f1=open('zhanghu.txt',mode='a',encoding='utf-8')
f1.write(nm+' '+mm+' '+money)
f1.write('\n')
f1.flush()
f1.close()
break
else:
print('两次密码不一样,重新注册') def quqian(self, status): # status 0 , 1
money2 = int(input('请输入你想取的钱:'))
f4 = open('zhanghu.txt', mode='r', encoding='utf-8')
f5 = open('zhanghu1.txt', mode='w', encoding='utf-8')
for line in f4:
if line.split()[0]==self.name and line.split()[1]==self.mima:
if status == 0:
self.qian =int(line.split()[2])+int(money2)
else:
self.qian = int(line.split()[2]) - int(money2)
print('你的账户还有%s元'%self.qian)
f5.write(self.name + ' ' + self.mima + ' ' + str(self.qian))
f5.write('\n')
else:
f5.write(self.name + ' ' + self.mima + ' ' + self.qian)
f5.write('\n')
f4.flush()
f5.flush()
f4.close()
f5.close()
os.remove('zhanghu.txt')
os.rename('zhanghu1.txt', 'zhanghu.txt') class User(ATM):
def __init__(self,name,mima,qian):
self.name=name
self.mima=mima
self.qian=qian
while 1:
n=input('注册输1,登录输2,退出输其他')
if n=='1':
fn=getattr(ATM,'regst')
fn()
elif n=='2':
na1=input('输入你的名字:')
mi1=input('输入你密码:')
f6 = open('zhanghu.txt', mode='r', encoding='utf-8')
for line in f6:
if line.split()[0] == na1 and line.split()[1] == mi1:
user=User(line.split()[0],line.split()[1],line.split()[2])
f6.flush()
f6.close()
print('登录成功')
while 1:
n1=input('存钱输1,取钱输2,查询输3,退出输其他')
if n1=='1':
user.quqian(0)
elif n1=='2':
user.quqian(1)
elif n1=='3':
user.chaxun()
else:
break
break
else:
print('登录不成功')

Python(ATM机low版)的更多相关文章

  1. python ATM机 案例代码

    利用目前学的流程控制写的 ''' ATM机 需求: 1.登陆 输入账号输入密码 每日只有3次登陆密码错误的机会,超过3次禁止登陆 2.查询余额 3.存款 4.取款 5.转帐 6.退出 ''' info ...

  2. 用java实现一个ATM机系统(2.0版)

    用java实现一个ATM机系统(2.0版) java实现银行ATM自助取款机,实现功能:用户登录.余额查询.存钱.取钱.转账.修改密码.退出系统. 文章目录 用java实现一个ATM机系统(2.0版) ...

  3. python low版线程池

    1.low版线程池设计思路:运用队列queue 将线程类名放入队列中,执行一个就拿一个出来import queueimport threading class ThreadPool(object): ...

  4. python实现atm机基本操作及购物车

    一.需求分析 ATM机要为用户提供转账,提现,还款,付款,消费流水,操作记录等操作接口 ATM机要为管理员提供创建用户,冻结解冻,修改额度的功能 ATM机管理员认证使用装饰器来实现 购物车要提供管理员 ...

  5. Python之路,Day4 - Python基础4 (new版)

    Python之路,Day4 - Python基础4 (new版)   本节内容 迭代器&生成器 装饰器 Json & pickle 数据序列化 软件目录结构规范 作业:ATM项目开发 ...

  6. 模块购物商城和ATM机代码:

    http://outofmemory.cn/python/video/let-us-python/ python为程序员服务  快来加入群[python爬虫交流群](群号570070796),发现精彩 ...

  7. appium+Python真机运行测试demo的方法

    appium+Python真机运行测试demo的方法 一,    打开手机的USB调试模式 二,    连接手机到电脑 将手机用数据线连接到电脑,并授权USB调试模式.查看连接的效果,在cmd下运行命 ...

  8. 模拟ATM机银行系统

    淄博汉企Java基础考核项目 模拟银行自助终端系统 一. 本系统模拟银行用户使用ATM机开户.查询.存款.取款功能,要求使用java语言编程实现. 说明: 1. 对于数据输入异常,可使用java异常处 ...

  9. JAVA - ATM机程序

    ATM机程序 UnionPayTest.java package oo.day06.work; public class UnionPayTest { } interface UnionPay{ // ...

随机推荐

  1. 【Leetcode】【Medium】Convert Sorted Array to Binary Search Tree

    Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 解题 ...

  2. NFS-heartbeat-drbd模拟NFS高可用

    NFS介绍: NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS ...

  3. Android Studio 独立引入(非友盟)微博分享和回调时问题

    最近同事在做一个小项目时,由于产品的要求,Wap页面的分享规定不能使用友盟的社会化组件.他则不得不手动一个一个渠道的引入分享,好在渠道不多就三个,但是第一微博分享引入的时候问题就出现了. 问题一:li ...

  4. UVa 11584 - Partitioning by Palindromes(线性DP + 预处理)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. PHP----练习-----三级联动

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. Codeforces Round #535 (Div. 3) E2. Array and Segments (Hard version) 【区间更新 线段树】

    传送门:http://codeforces.com/contest/1108/problem/E2 E2. Array and Segments (Hard version) time limit p ...

  7. Linux学习总结(七)-磁盘管理 du df fdisk

    一 命令df df,即disk free,可用来查看当前系统的挂载情况,也可以用来查看整体磁盘的使用情况df 不带参数,默认以KB单位显示df -i -----查看inodes 使用情况,要清楚理解i ...

  8. mysql学习之join用法

    转载  一张图看懂 SQL 的各种 join 用法 一.JOIN 使用介绍 下面例子使用的数据表如下: -- ---------------------------- -- Table structu ...

  9. Spring Boot Web Error Page处理

    spring Boot默认是whitelabel error page. 其实我们可以自己处理,由于时间有限,所以就简单说明一下方法. 首先配置 @Configuration public class ...

  10. Windows 下制作CentOS7安装U盘

    本文属于另类的U盘制作方法(更多U盘安装见U盘安装CentOS ),如何安装CentOS,请参考<安装指南> 以下列出了,完整的制作步骤: 1.下载安装镜像 选择一个合适的镜像网站,比如网 ...