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. sqlserver索引维护(重新组织生成索引)

    sqlserver索引的维护 1:查看索引碎片大于百分三十以上的索引 select object_id= object_id,indexid = index_id,partitionnum = par ...

  2. 初看Mybatis 源码 (三) SQL是怎么执行的

    前面说到Java动态代理,Mybatis通过这种方式实现了我们通过getMapper方式得到的Dao接口,可以直接通过接口的没有实现的方法来执行sql. AuthUserDao mapper = se ...

  3. Hadoop学习---Hadoop的深入学习

    Hadoop生态圈 存储数据HDFS(Hadoop Distributed File System),运行在通用硬件上的分布式文件系统.具有高度容错性.高吞吐量的的特点. 处理数据MapReduce, ...

  4. linux系统开机突然黑屏,只有光标

    以前系统都是好好的,今天开机黑屏了,只有一个光标可以看见其他东西都看不见了. 经过检查发现是磁盘满了,将不用的文件删除之后可以正常开机了.特此记录一下!!! 有人问黑屏了怎么删文件? 我采用的方法是W ...

  5. yii2.0里别名的定义

    别名用来表示文件路径和URL,为了避免在代码中硬编码一些绝对路径和URL,一个别名必须以‘@’符开头. 用Yii::setAlias()的方法来设置: //文件别名 Yii::setAlias('@f ...

  6. OC基础数据类型-NSArray

    1.数组的初始化 NSArray *array = [[NSArray alloc] initWithObjects:@"One", @"Two", @&quo ...

  7. 如何在SAP里创建configurable material物料主数据

    (1) 使用tcode CT04创建characteristic: assign 所有可能的color value: (2) 使用tcode CL02创建class. 类型选择300- variant ...

  8. web 应用程序转化为多租户 SaaS 解决方案

    web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/inde ...

  9. php获取视频长度,php.ini配置

    php获取视频长度 $long = exec("ffmpeg -i video.mp4 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | s ...

  10. Promise里捕捉错误的最佳实践

    Promise里的同步部分不需要try catch new Promise((resolve, reject) => { throw new Error('error'); setTimeout ...