class Bank:
def __init__(self):
print "init ok"
def Menu(self):
print "Hello,welcome to this Bank system"
print "1:new user"
print "2:Print information"
print "3:Save Money"
print "4:Fetch Money"
print "5:Quit"
def Select(self):
while 1:
i=input("Select:")
if i==1:
self.NewUser()
elif i==2:
self.Print()
elif i==3:
self.SaveMoney()
elif i==4:
self.FetchMoney()
elif i==5:
break
else:
print "error input"
def NewUser(self):
self.u=User()
print "Create OK"
def Print(self):
self.u.Print()
def SaveMoney(self):
m=input("Money to save:")
self.u.AddMoney(m)
print "save ok"
def FetchMoney(self):
m=input("Money to fetch:")
self.u.FetchMoney(m)
print "fetch ok"
class User:
def __init__(self):
self.name=raw_input("name:")
self.ID=raw_input("ID:")
self.money=input("money:")
def Print(self):
print self.name
print self.ID
print self.money
def AddMoney(self,money):
self.money=self.money+money
def FetchMoney(self,money):
self.money=self.money-money
b=Bank()
b.Menu()
b.Select()
該程式定義了一個User類和一個Bank類,處理簡單存錢取錢操作,但不能儲存,算做是對前面學習的一個小的總結(事實上洒家還米編過一個程,嗚嗚,只是看了幾天書而已)感覺Python和C++很相似,老感覺寫python程式是小CASE,今天寫了下,竟然不知道如何上手,寫了完了總結一下遇到的問題:
1:input與raw_input的不同,input返回的是整形數值,而raw_input返回的字串,因此對不同的對象賦值是可要注意了哈。
2:我將User放在下面,Bank還是能調用,這與C++可不同,C++中需要先聲明吧
3:python中的類與C++中的類是有很大不同的,初始化函數就不說了,對成員變數定義是我感覺最不習慣的地方,不過還好,勉強通過解釋。Python中的成員變數分為2中類型,一種是類變數,一種是物件變數,一般情況下我們C++下的成員變數在這裡是物件變數,而C++下的靜態變數才是python中的類變數。
4:謝謝,python還支援break,可惜沒了switch(),不過感覺if,elif,else還是很好用的。
5:類成員函數參數要加self,一時還不習慣,忘了幾次,汗。。。