import time
class Admin(object):
"""docstring for Admin"""
account = 'admin'
password = 'admin'
def welcome(self):
print('*********************************')
print('* *')
print('* 欢迎使用爱心银行 *')
print('* *')
print('*********************************')
def menu(self):
print('* 开户(1) 查询(2) *')
print('* 取款(3) 存款(4) *')
print('* 转账(5) 改密(6) *')
print('* 锁定(7) 解锁(8) *')
print('* 销户(9) 退出(0) *')
print('*********************************')
def login(self):
print('请输入账号和密码进行登录...')
time.sleep(2)
in_account = input('请输入账号:')
in_password = input('请输入密码:')
if (in_account == Admin.account) and (in_password == Admin.password):
return True
return False
class Card(object):
"""docstring for Card"""
def __init__(self, card_id, password):
super(Card, self).__init__()
self.card_id = card_id
self.password = password
self.money = 10
self.is_lock = False
class User(object):
"""docstring for User"""
def __init__(self, name, user_id, card):
super(User, self).__init__()
self.name = name
self.user_id = user_id
self.card = card
import random
from card import Card
from user import User
import time
import pickle
import os
class Option(object):
"""docstring for Option"""
def __init__(self):
self.load_users()
def load_users(self):
if not os.path.exists('users.txt'):
self.all_users = {}
else:
fp = open('users.txt', 'rb')
self.all_users = pickle.load(fp)
def create_user(self):
name = input('请输入用户名:')
user_id = input('请输入身份证号:')
password = self.get_password()
card_id = self.get_cardid()
card = Card(card_id, password)
user = User(name, user_id, card)
self.all_users[card_id] = user
print('开户成功,卡号为%s,余额为10元' % card_id)
time.sleep(1)
def get_cardid(self):
while 1:
card_id = str(random.randint(100000, 999999))
if not card_id in self.all_users:
return card_id
def get_password(self):
while 1:
password = input('请输入密码:')
repassword = input('请确认密码:')
if password == repassword:
return password
print('两次密码不一致,请重新输入:')
def search_money(self):
card_id = input('请输入卡号:')
if not card_id in self.all_users:
print('卡号有误,请重新操作')
return
card = self.all_users[card_id].card
if card.is_lock:
print('该卡已经锁定,请解锁后再执行操作')
return
if not self.check_password(card):
print('密码输入错误3次,卡已锁定,请先解锁')
return
print('您的余额为%s' % card.money)
time.sleep(1)
def check_password(self, card):
count = 0
while 1:
password = card.password
in_password = input('请输入密码:')
if password == in_password:
return True
count += 1
if count == 3:
card.is_lock = True
return False
def get_money(self):
pass
def save_money(self):
pass
def trans_money(self):
pass
def change_password(self):
pass
def unlock_card(self):
pass
def lock_card(self):
pass
def bank_quit(self):
fp = open('users.txt', 'wb')
pickle.dump(self.all_users, fp)
from admin import Admin
import time
from option import Option
def main():
guanli = Admin()
if not guanli.login():
print('登录失败,哥们,重来吧')
return
print('登录成功,请稍后......')
time.sleep(3)
cao = Option()
guanli.welcome()
while 1:
guanli.menu()
num = input('请输入您要执行的操作:')
if num == '1':
cao.create_user()
elif num == '2':
cao.search_money()
elif num == '3':
pass
elif num == '4':
pass
elif num == '5':
pass
elif num == '6':
pass
elif num == '7':
pass
elif num == '8':
pass
elif num == '9':
pass
elif num == '0':
cao.bank_quit()
print('欢迎下次登录......')
time.sleep(2)
break
if __name__ == '__main__':
main()