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,一时还不习惯,忘了几次,汗。。。