python中 系統的實現

2021-09-25 16:40:27 字數 4846 閱讀 3811

『』』

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...