拿到要求真不知道怎么写,不能直接写个商城页面吧;
最后还是用了input()模拟用户操作吧- -!不就操作个字典吗(字典模拟商品数据)。、
python版本:
>>>import sys >>>print (sys.version) 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)]
1
#
这里用字典的话就没有定义商品编号所以此程序不支持同个商品同时买俩件- -!用户可以从购物车添加商品和删除商品和结算,查看购物车和余额。
2
3 goods_list = {‘g1‘:128,‘g2‘:39,‘g3‘:2.5} #创建一个三个商品的字典模拟商品数据 4 5class user(object): #定义一个用户的类及用户具有的操作方法 6def__init__(self,ngoods,shop_cart={},balance=300): #这里用户属性中默认300块钱,用户购物车也用字典来模拟数据 7 self.balance=balance
8 self.shop_cart={}
9 self.ngoods=ngoods
10def addgoods(self,ngoods_num):#定义用户添加商品到购物车方法当作用户对象的属性1112if ngoods_num:
13 self.shop_cart[ngoods_num]=goods_list[ngoods_num]#用户选择的商品添加到购物车字典14#print (self.shop_cart)#调试15 self.show_shop_cart()#调用了下面的展示购物车方法16else:
17print ("you don‘t chose!")
1819def delgoods(self,dgoods_num):#定义用户从购物车删除商品方法20if dgoods_num:
2122 self.shop_cart.pop(dgoods_num)#将用户所选商品从购物车删除23 self.show_shop_cart()
2425else:
26print("you don‘t chose!")
2728def settlement(self):#定义结算方法29 sum_price=sum(self.shop_cart.values())#计算购物车商品的价格和30#print (sum_price)#调试31#print (self.balance)#调试3233if sum_price > self.balance:#如果用户余额balance小于购物车商品总价34print (‘Sorry, your credit is running low!‘)#提示余额不足35else:
36 self.balance=self.balance - sum_price#结账37 self.shop_cart.clear() #清空用户购物车38print (‘settlement success! your balance:%d‘ %(self.balance)) #果断改掉了之前用“+”的习惯3940def show_shop_cart(self):#定义一个展示用户购物车方法41#print (self.shop_cart)42for k,v in self.shop_cart.items():
43 shop_infor = ‘‘‘44 %s:¥%s
45‘‘‘%(k, v)
46print(shop_infor)
4748def index():#定义一个商品展示方法49for k,v in goods_list.items():
50 goods_infor=‘‘‘51 %s:¥%s
52‘‘‘%(k,v)
53print(goods_infor)
54index()
555657 ngoods = 1#先初始化ngoods一个值 使之进入循环5859while ngoods != ‘q‘:
60 ngoods=input(‘chose your goods(s:结算,i:商品展示,c:购物车,q:关闭商城):‘)
61if‘p1‘in dir():#如果对象p1存在将不在重新创建,否则每次循环创建一个- -!62pass63else:
64 p1= user(ngoods) #创建用户对象p165if ngoods in goods_list.keys():
6667 p1.addgoods(ngoods)
68elif ngoods =="i":
69 index()
70elif ngoods[0]==‘-‘and ngoods[1:] in goods_list.keys():#这里用“-”模拟用户想要删除的商品操作,71# so,此时的ngoods[1:]即为商品72 p1.delgoods(ngoods[1:])
73elif ngoods==‘c‘:
74 p1.show_shop_cart()
75elif ngoods==‘s‘:
76 p1.settlement()
77 index()
78else:
79if ngoods !=‘q‘:
80print ("input Error!")
原文:http://www.cnblogs.com/cyalu/p/luyaliang_python_homework.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!