您的位置:首页 > 脚本大全 > > 正文

python开发的独立商城(python实现电子产品商店)

更多 时间:2022-01-21 00:40:39 类别:脚本大全 浏览量:1767

python开发的独立商城

python实现电子产品商店

利用python实现以下功能:基于python下的电子产品商店

电子产品商店

v0.1

请选择商品:

=============================

1       apple watch          ¥3299.00

--------------------------------------

2       airpods           ¥1288.00

--------------------------------------

3       home pod            ¥1299.00

--------------------------------------

请输入商品id(回车去结账,0清空购物车):1

--------------------------------------

id:1

名称:apple watch

价格:¥3299.00

库存:100

请输入购买数量:2

--------------------------------------

apple watch(¥3299) * 2 =¥6598.00

--------------------------------------

总金额:¥6598.00

请输入商品id(回车去结账,0清空购物车):2

--------------------------------------

id:2

名称:airpods

价格:¥1288.00

库存:100

请输入购买数量:2

--------------------------------------

apple watch(¥3299.00) * 2 =¥6598.00

airpods(¥1288.00) * 2      =¥2576.00

--------------------------------------

总金额:¥9174.00

1.首先,先在processon上画出一个基本的流程图,使自己有一个清晰的逻辑,如何去写这个项目,流程图如下:

python开发的独立商城(python实现电子产品商店)

2.其次,再列举出来这个项目中需要用到的类都有哪些,各自包含的属性是什么以及定义的都有哪些函数。然后在processon中 创建一个uml模板(从上往下依次是类名,属性,函数名),模板如下:

python开发的独立商城(python实现电子产品商店)

3.根据流程图和uml模板编写程序,代码如下:

(1)定义一个类名为goods的类       

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • # 商品类
  • class goods(object):
  •  def __init__(self,name,price,stock):
  •  self.id = 0
  •  self.name = name
  •  self.price = price
  •  self.stock = stock
  •  # 当打印对象时,输出的内容
  •  def __str__(self):
  •  return 'id:%s\n' \
  •   '名称:%s\n' \
  •   '价格:%s\n' \
  •   '库存:%s\n' % (self.id,self.name,self.price,
  •     self.stock)
  •  
  •  
  • if __name__ == '__main__':
  •  goods = goods('apple pods',2999,100)
  •  print(goods)
  •  goods2 = goods('apple watch',3666,100)
  •  print(goods2)
  • (2)定义一个类名为cartitem的类 

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • from goods import goods
  •  
  • class cartitem(object):
  •  # 购物车商品
  •  def __init__(self,goods,count):
  •  self.goods = goods
  •  self.count = count
  •  
  •  def __str__(self):
  •  # %f是小数类型的占位符
  •  return '%s(¥%.2f)*%s' % (self.goods.name,
  •      self.goods.price,self.count)
  •  
  •  # 计算商品小计
  •  def amout(self):
  •  return self.goods.price * self.count
  •  
  •  
  • if __name__ == '__main__':
  •  goods = goods('apple pods',2999,100)
  •  # 创建购物车商品对象,需要传入一个商品对象
  •  item = cartitem(goods,2)
  •  money = item.amout()
  •  print(money)
  • (3)最后把前两个类整合一下,实现具体的功能:      

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • from goods import goods
  • from cart import cartitem
  •  
  • class shop(object):
  •  """商店"""
  •  def __init__(self):
  •  # 存储所有商品
  •  self.shops = []
  •  # 存储购物车商品
  •  self.cart = []
  •  # 加载商品
  •  self.load()
  •  
  •  def load(self):
  •  """加载商品"""
  •  self.add(goods('apple watch', 3299, 100))
  •  self.add(goods('airpods', 1288, 100))
  •  self.add(goods('home pod', 1299, 100))
  •  self.add(goods('iphone x', 6288, 100))
  •  
  •  def add(self, good):
  •  """
  •  设置新商品的id,添加到列表中
  •  :param good: 新商品
  •  :return: none
  •  """
  •  good.id = len(self.shops) + 1
  •  self.shops.append(good)
  •  
  •  def print_line(self):
  •  
  •  print('-'*50)
  •  
  •  def print_double_line(self):
  •  print('='*50)
  •  
  •  def list(self):
  •  """列出所有商品"""
  •  print('请选择商品:')
  •  self.print_double_line()
  •  # 遍历商品列表
  •  for g in self.shops:
  •  
  •   print('%s %s %s' % (g.id, g.name, g.price))
  •   self.print_line()
  •  
  •  def list_cart(self):
  •  """展示购物车商品,计算总价"""
  •  self.print_line()
  •  total = 0.0
  •  for item in self.cart:
  •   print('%s =¥%s' % (item, item.amout()))
  •   total += item.amout()
  •  self.print_line()
  •  print('总金额:¥%.2f' % total)
  •  
  •  def add_to_cart(self):
  •  """添加商品到购物车"""
  •  print('\n')
  •  g_id = input('请输入商品id(回车去结账,0清空购物车):')
  •  
  •  if len(g_id) == 0:
  •   # 结账
  •   total = 0.0
  •   for item in self.cart:
  •  
  •   total += item.amout()
  •   self.print_line()
  •   print('请支付:¥%.2f' % total)
  •  
  •   # 清空购物车
  •   self.cart.clear()
  •   print('支付成功!')
  •  
  •  elif g_id == '0':
  •   self.cart.clear()
  •   print('购物车已清空!')
  •  else:
  •   # 计算商品索引
  •   idx = int(g_id) - 1
  •   # 取出商品
  •   goods = self.shops[idx]
  •   self.print_line()
  •   print(goods)
  •  
  •   count = int(input('请输入购买数量:'))
  •   # 判断数量是否大于库存量
  •   while count > goods.stock:
  •   count = int(input('没有这么多商品,请重新输入:'))
  •  
  •   # 如果商品已经在购物车中,修改商品数量
  •   # 变量表示在购物车中是否有这个商品
  •   is_exsts = false
  •   for item in self.cart:
  •   if item.goods == goods:
  •    # 说明在购物车中有该商品
  •    is_exsts = true
  •    item.count += count
  •    # 减少库存
  •    goods.stock -= count
  •  
  •   # 如果执行到这,is_exsts的值还是false,说明购物车中没有该商品
  •   if is_exsts == false:
  •   # 把商品添加到购物车
  •   goods.stock -= count
  •   self.cart.append(cartitem(goods, count))
  •  
  •   # 展示购物车商品,计算总价
  •   self.list_cart()
  •  
  •  def run(self):
  •  """运行应用程序"""
  •  print('智游电子产品商店')
  •  print('v1.0')
  •  print('\n')
  •  
  •  self.list()
  •  
  •  while true:
  •   self.add_to_cart()
  •  
  • shop = shop()
  • shop.run()
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。

    原文链接:https://blog.csdn.net/qq_42598133/article/details/81103385

    您可能感兴趣