python 功能增减_python:实现简单购物车增加商品、删除商品的功能

作业:实现购物车可以添加手机、电脑等功能

手机类:

# -*- coding: utf-8 -*-

class IphoneInfo:

def __init__(self):

self._title = ''

self._price = 0

self._color = ''

self._version = ''

self._weight = ''

def set_title(self, title):

self._title = title

def get_title(self):

return self._title

def set_price(self, price):

self._price = price

def get_price(self):

return self._price

def set_color(self, color):

self._color = color

def get_color(self):

return self._color

def set_version(self, version):

self._version = version

def get_version(self):

return self._version

def set_weight(self, weight):

self._weight = weight

def get_weight(self):

return self._weight

电脑类:

# -*- coding: utf-8 -*-

class ComputerInfo:

def __init__(self):

self._title = ''

self._price = 0

self._color = ''

self._version = ''

self._weight = ''

self._cpu = ''

self._rom = ''

self._ssd = ''

self._hhd = ''

def set_title(self, title):

self._title = title

def get_title(self):

return self._title

def set_price(self, price):

self._price = price

def get_price(self):

return self._price

def set_color(self, color):

self._color = color

def get_color(self):

return self._color

def set_version(self, version):

self._version = version

def get_version(self):

return self._version

def set_weight(self, weight):

self._weight = weight

def get_weight(self):

return self._weight

def set_cpu(self, cpu):

self._cpu = cpu

def get_cpu(self):

return self._cpu

def set_rom(self, rom):

self._rom = rom

def get_rom(self):

return self._rom

def set_ssd(self, ssd):

self._ssd = ssd

def get_ssd(self):

return self._ssd

def set_hhd(self, hhd):

self._hhd = hhd

def get_hhd(self):

return self._hhd

if __name__ == '__main__':

mac1 = ComputerInfo()

mac1.set_title('big mac 13\'')

mac1.set_price(3999)

mac1.set_color('white')

print(mac1.get_title())

print(mac1.get_price())

print(mac1.get_color())

购物车类:

#-*- coding: utf-8 -*-

from IphoneInfo importIphoneInfofrom ComputerInfo importComputerInfoclassCart:def __init__(self):

self._deal_list=[]

self._deal_num={}#add deal to cart

defadd_deal(self, deal_list):

self._deal_list.append(deal_list)defget_add_deal(self):returnself._deal_list#delete deal from cart

defdel_deal(self, del_name):

self._deal_list.remove(del_name)defget_del_deal(self):returnself._deal_list#设置所有商品的默认个数

def set_default_deal_num(self, deal_num=1):for i inrange(len(self.get_add_deal())):#把list的商品作为字典的key

if self.get_add_deal()[i] inself._deal_num:

self._deal_num[self.get_add_deal()[i].get_version()]+=deal_numelse:

self._deal_num[self.get_add_deal()[i].get_version()]=deal_num#设置单个商品个数

def change_onedeal_num(self, version='iphone6', deal_num=1):#version = input('input the version which you want to change numbers:')

#deal_num = input('input the numbers(eg:1/-1)')

if self._deal_num.get(version) + deal_num >0:

self._deal_num[version]+=deal_numelse:print('\033[1;31;0m change faild!\033[0m')#返回商品+商品数据

defget_alldeal_num(self):for key,value inself._deal_num.items():print(key, ':', value)returnself._deal_num#展示购物车的商品

defshow_cart(self):print('the deals which in the cart :')

sum_price=0

sum_dealnum=0for deal_x inself.get_add_deal():#print(type(deal))

#print(type(deal_x))

print('the title :', deal_x.get_title())print('the price :', deal_x.get_price())print('the color :', deal_x.get_color())print('the version :', deal_x.get_version())#获取deal对应商品数量

numbers =self._deal_num.get(deal_x.get_version())print('numbers:',numbers)print('-----------------')

sum_price+= deal_x.get_price() *numbers

sum_dealnum+= 1

print('your cart totle deal:', sum_dealnum, ',', sum_price, 'yuan')print('-----------------------------')print('--------next cart------------')defdel_deal_from_cart(self):

not_like= input('delete the deal version which you do not like:')

flag=0for deal_x inself.get_add_deal():if deal_x.get_version() ==not_like:

self.del_deal(deal_x)print('\033[1;32;0m delete success!\033[0m')print('\033[1;32;0m',deal_x.get_version(), 'is deleted\033[0m')print('--------------')

flag= 1

if flag ==0:print('\033[1;31;0m delete failed!\033[0m')print('\033[1;31;0m',not_like, 'is not in cart!\033[0m')defcommit_order():

flag= input('Do you want to settle your deals (Y/N):')if flag == 'Y' or flag == 'y':print('deal commit,it is ready going to cashier!')else:print('deal not commit!')#mock 购物车的数据

defmock_deal():

iphone6=IphoneInfo()

iphone6.set_title('iphone6\'s title')

iphone6.set_price(3999)

iphone6.set_version('iphone6')

iphone6.set_color('white')

iphone6.set_weight('168g')

iphone7=IphoneInfo()

iphone7.set_title('iphone7\'s title')

iphone7.set_price(4999)

iphone7.set_version('iphone7')

iphone7.set_color('red')

iphone7.set_weight('200g')

iphone8=IphoneInfo()

iphone8.set_title('iphone8\'s title')

iphone8.set_price(7999)

iphone8.set_version('iphone8')

iphone8.set_color('silvery')

iphone8.set_weight('268g')

mac13=ComputerInfo()

mac13.set_title('mac 13\'s title')

mac13.set_price(6888)

mac13.set_version('mac13')

mac13.set_color('green')

mac13.set_weight('1.3kg')

mac13.set_cpu('i5')

mac13.set_rom('4G')

mac13.set_ssd('128G')

mac13.set_hhd('1T')

mac14=ComputerInfo()

mac14.set_title('mac 14\'s title')

mac14.set_price(8888)

mac14.set_version('mac14')

mac14.set_color('red')

mac14.set_weight('1.4kg')

mac14.set_cpu('i5')

mac14.set_rom('8G')

mac14.set_ssd('256G')

mac14.set_hhd('1T')

mac15=ComputerInfo()

mac15.set_title('mac 15\'s title')

mac15.set_price(10888)

mac15.set_version('mac15')

mac15.set_color('red')

mac15.set_weight('1.5kg')

mac15.set_cpu('i7')

mac15.set_rom('16G')

mac15.set_ssd('512G')

mac15.set_hhd('2T')

new_cart=Cart()

new_cart.add_deal(iphone6)

new_cart.add_deal(iphone7)

new_cart.add_deal(iphone8)

new_cart.add_deal(mac13)

new_cart.add_deal(mac14)

new_cart.add_deal(mac15)returnnew_cartif __name__ == '__main__':

deals=mock_deal()#设置购物车内所有商品的默认数量,default=1

deals.set_default_deal_num(2)#展示购物车

deals.show_cart()#设置商品个数/可拓展成用户输入version numbers

deals.change_onedeal_num('mac13',-1)

deals.show_cart()#用户从购物车中删除商品

deals.del_deal_from_cart()#展示购物车

deals.show_cart()#确认提交订单

commit_order()print('------over-----')

实现结果:可以实现购物车增加商品、删除某个商品、修改某个商品的个数等功能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值