『』』
atm系統
卡:卡號,密碼,金額,鎖
使用者:name,idcard,phonenum,card
atm系統:
屬性:使用者列表 登入狀態
行為: 1.登陸 2.開戶 3.查詢 4.取款 5.存款 0.退出
6.轉賬 7.改密 8.鎖卡 9.解鎖
『』』『』』
import time
import random
import pickle
class card:
definit(self,kahao,mima,money,suo=false):
self.kahao=kahao
self.mima=mima
self.money=money
self.suo=suo
class person:
definit(self,name,idcard,phonenum,card):
self.name=name#input(『請輸入姓名:』)
self.idcard=idcard#input(「請輸入身份證號:」)
self.phonenum=phonenum#input(『請輸入手機號:』)
self.card=card
class atm:
i=1persondict={}
islogin=none
@staticmethod
def welcome():
print(
# **********************
# * *
# * welcome to bank *
# * *
# **********************
)@staticmethod
def select():
print(
# **********************
# * 1.登陸 2.開戶 *
# * 3.查詢 4.取款 *
# * 5.存款 0.退出 *
# * 6.轉賬 7.改密 *
# * 8.鎖卡 9.解鎖 *
# **********************
)num = input(「請選擇服務專案:」)
return num
@classmethod
def getcard(cls):
while 1:
kahao=』』
for i in range(6):
kahao+=str(random.randrange(0,10))
if kahao not in cls.persondict:
# return kahao
return kahao
@classmethod
def openuser(cls):
name = input("請輸入您的姓名:")
idcard = input("請輸入您的身份證號碼:")
phonenum = input("請輸入您的**號碼:")
psd = input("請設定您的密碼:")
psd2 = input("請確認您的密碼:")
if psd == psd2:
mon = int(input("請輸入您的預存餘額:"))
if mon > 0:
cardnum = cls.getcard()
card = card(cardnum, psd, mon)
user = person(name, idcard, phonenum, card)
cls.persondict[cardnum] = user
print("開卡成功,您的卡號為%s,請牢記..." % cardnum)
else:
print("預存餘額非法,開卡失敗...")
else:
print("兩次輸入密碼不一致,開卡失敗...")
@classmethod
def login(cls):
if cls.i>2:
# cls.persondict.get(cls.islogin).card.suo=true
print('的卡已被鎖你住,請解鎖')
# cls.persondict.get(cls.islogin).card.suo = true
else:
cardnum=input('請輸入您的卡號:')
user=cls.persondict.get(cardnum)
if user:
psd=input('請輸入您的密碼:')
if psd==user.card.mima:
print('恭喜你登陸成功')
cls.islogin=cardnum
else:
cls.i+=1
print('密碼錯誤,登陸失敗')
else:
print('卡號不存在')
@classmethod
def search(cls):
if cls.islogin:
print("您當前的餘額為%d" % (cls.persondict.get(cls.islogin).card.money))
else:
print("請登入後查詢")
@classmethod
def qukuan(cls):
if cls.islogin:
n = int(input('請輸入取款金額:'))
if n>cls.persondict.get(cls.islogin).card.money:
print('你卡里沒那麼多錢')
else:
cls.persondict.get(cls.islogin).card.money -= n
else:
print("請登入後取款")
@classmethod
def cunkuan(cls):
if cls.islogin:
n = int(input('請輸入存款金額:'))
cls.persondict.get(cls.islogin).card.money += n
else:
print("請登入後存款")
@classmethod
def zhuan(cls):
if cls.islogin:
kahao=int(input('請輸入轉帳賬號:'))
n = int(input('請輸入轉帳金額:'))
if n>cls.persondict.get(cls.islogin).card.money:
print('你卡里沒那麼多錢')
else:
cls.persondict.get(cls.islogin).card.money -= n
else:
print("請登入後轉帳")
@classmethod
def mima(cls):
if cls.islogin:
print('您的原密碼為%s'%cls.persondict.get(cls.islogin).card.mima)
mima=input('請輸入新的密碼:')
cls.persondict.get(cls.islogin).card.mima=mima
print('恭喜你改密成功')
else:
print("請登入後改密")
@classmethod
def suo(cls):
cls.i=3
print('您的卡已經被鎖住')
@classmethod
def jiesuo(cls):
cls.i=0
print('解鎖成功')
ifname== 『main』:
atm.welcome()
try:
with open(『use.txt』,『rb』)as f:
atm.persondict=pickle.load(f)
except:
pass
while true:
time.sleep(1)
print(atm.persondict)
num = atm.select()
if num == 「2」:
print(「開戶」)
atm.openuser()
elif num==『1』:
print(『登陸』)
atm.login()
elif num==『3』:
print(『查詢』)
atm.search()
elif num == 『4』:
atm.qukuan()
elif num == 『5』:
atm.cunkuan()
elif num == 『6』:
atm.zhuan()
elif num == 『7』:
atm.mima()
elif num == 『8』:
atm.suo()
elif num==『9』:
atm.jiesuo()
elif num == 「0」:
print(「退出」)
with open(『user.txt』,『rb』)as f2:
pickle.dump(atm.persondict,f2)
break
else:
print(「選擇有誤請重新選擇…」)
python中list的實現
首先,我們需要知道的是,python中一切皆物件。也就是說我們的字串是乙個物件,我們的list也是乙個物件,而他們也是由元類來建立。a a.class class list a.class class class type 再說說記憶體,我們知道,儲存的最小單位為位元組,乙個位元組又是由8位組成,記...
Python中的系統變數 name
每乙個python程式檔案都可以當作乙個模組,模組以磁碟檔案的形式存在。模組中可以是一段可以直接執行的程式 也稱為指令碼 也可以定義一些變數 類或函式,讓別的模組匯入和呼叫,類似於庫函式。模組中的定義部分,例如全域性變數 類定義 函式定義等,因為沒有程式執行入口,所以不能直接執行,但對主程式 部分有...
python中的使用者管理系統
1 系統裡面有多個使用者,使用者資訊目前儲存在列表裡面 users root westos passwds 123 456 2 使用者登陸 判斷使用者登陸是否成功 1 判斷使用者是否存在?inuser in users 2 如果存在 1 判斷使用者密碼是否正確?先找出使用者對應的索引值,根據pass...