python实现手机销售管理系统


Posted in Python onMarch 19, 2019

本文实例为大家分享了python实现手机销售管理系统的具体代码,供大家参考,具体内容如下

要求如下:

手机销售系统

    手机品牌                手机价格    库存数量
     vivoX9                       2798          25
     iphone7(32G)         4888          31
     iphone7(128G)       5668          22
     iphone7P(128G)     6616          29
     iphone6(16G)         3858          14
     ...

功能要求:

四个选项:

1.查看所有手机品牌

  1.vivoX9 
  2.iphone7(32G)
        ......
        分支选项:
         1.选择产品序号查看详情(根据序号输出产品名称,价格,库存)
                1.购买(库存数量-1,库存为0时,删除该产品)
                 2.返回
         2.返回

2.更改产品库存信息

  1.添加新产品(添加新产品,包括产品名称、价格、库存)
  2.修改原有产品
         输出所有产品信息
             1.根据选择序号进行修改
              2.返回
 3.移除产品库存信息
            1.查看所有产品,根据序号移除
            2.移除所有产品
            3.返回
 4.退出程序

具体实现其功能的代码如下:

# 数据模型类
class Phone(object):
 '''
 手机类
 '''
 def __init__(self,name,price,count):
  self.name = name
  self.price = price
  self.count = count
 
# 用来操作整个程序执行逻辑
class PhoneShop(object):
 '''
 商店类
 '''
 def __init__(self):
  # phone1存储所有手机对象
  self.phones = []
 
 def buy_phone(self):
  print('* 请输入产品信息:')
  name = print('* 请输入手机名称:')
  price = print('* 请输入手机价格:')
  count = print('* 请输入手机库存:')
  # 创建一个新的phone对象
  phone = Phone(name=name, price=price, count=count)
  # 将phone对象添加到phones列表中
  self.phones.append(phone)
  print(self.phones)
 
  print('* 选择产品序号查看详情')
  print('* 1.购买')
  print('* 2.返回')
  shop = int(input('* 请选择您的操作:'))
  while shop < 1 or shop > 2:
   shop = int(input('* 选项不存在,请重新选择:'))
  if shop == 1:
   print('* 购买成功!')
  else:
   pass
 
 def xiugia(self):
  self.query_all()
  idx = int(input('* 请输入你要修改的序号:'))
  phone = Phone[idx - 1]
  new_name = input('* 请输入修改的名称:')
  new_price = input('* 请输入修改的价格:')
  new_count = input('* 请输入修改的库存:')
  phone.name = new_name
  phone.price = new_price
  phone.count = new_count
 
 def run(self):
  '''
  启动程序
  :return:None
  '''
  while True:
   print('* 欢迎使用手机销售管理系统')
   print('* 1.查看所有')
   print('* 2.添加手机')
   print('* 3.删除手机')
   print('* 4.退出程序')
   select = int(input('* 请选择您的操作:'))
   while select < 1 or select > 4:
    select = int(input('* 选项不存在,请重选:'))
   if select == 1:
    self.change()
   elif select == 2:
   #  调用添加手机函数
    self.buy_phone()
   elif select == 3:
    pass
   else:
    print('* 感谢您的使用,欢迎下次再来!')
    break
 
 def yichu(self):
  print('* 1.根据序号移除')
  print('* 2.移除所有产品')
  print('* 3.返回')
  a = int(input('* 请选择您的操作:'))
  while a <1 or a > 3:
   a = int(input('* 选项不存在,请重选'))
  if a == 1:
   pass
  elif a == 2:
   is_del = int(input('* 是否移除所有产品?y/n:'))
   if is_del == 'y':
    phone_list.pop()
    print('* 删除成功!')
   else:
    return
  else:
    return
 
 def query_all(self):
  for phone in self.phones:
   print(phone.name,phone.price,phone.count)
 
 def change(self):
  for phone in self.phones:
   print(phone.name,phone.price,phone.count)
 
  print('* 1.添加新产品')
  print('* 2.修改原有产品')
  result = int(input('* 请选择您的操作:'))
  while result < 1 or result > 2:
   result = (input('* 选项不存在,请重新选择:'))
  if result == 1:
   self.qurey_all()
  else:
   print('* 输出所有产品信息')
   print('* 1.根据选择序号进行修改')
   print('* 2.返回')
   index = int(input('* 请输入您的选择:'))
   while index < 1 or index > 2:
    index = int(input('* 选项不存在,请重新选择:'))
   if index == 1:
    pass
   else:
    return
 
 
phone_list = []
 
shop = PhoneShop()
shop.run()
shop.yichu()

程序运行出来之后的界面如下:

python实现手机销售管理系统

然后根据提示继续操作

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Linux下编译安装MySQL-Python教程
Feb 02 Python
python基于socket实现网络广播的方法
Apr 29 Python
Python定时器实例代码
Nov 01 Python
关于python写入文件自动换行的问题
Jun 23 Python
Selenium控制浏览器常见操作示例
Aug 13 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
Python 实用技巧之利用Shell通配符做字符串匹配
Aug 23 Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 Python
Python实现栈和队列的简单操作方法示例
Nov 29 Python
Python 解决相对路径问题:&quot;No such file or directory&quot;
Jun 05 Python
用python计算文件的MD5值
Dec 23 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 Python
Python使用修饰器进行异常日志记录操作示例
Mar 19 #Python
python学生管理系统学习笔记
Mar 19 #Python
Python操作rabbitMQ的示例代码
Mar 19 #Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 #Python
浅谈python中get pass用法
Mar 19 #Python
使用matplotlib中scatter方法画散点图
Mar 19 #Python
详解django+django-celery+celery的整合实战
Mar 19 #Python
You might like
隐性调用php程序的方法
2009/03/09 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
jQuery图片轮播的具体实现
2013/09/11 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
JavaScript实现复制或剪切内容到剪贴板功能的方法
2016/05/23 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
docker中编译nodejs并使用nginx启动
2017/06/23 NodeJs
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
详解jQuery同步Ajax带来的UI线程阻塞问题及解决办法
2017/08/09 jQuery
讲解vue-router之什么是动态路由
2018/05/28 Javascript
layer.close()关闭进度条和Iframe窗的方法
2018/08/17 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
[05:10]2014DOTA2国际邀请赛 通往胜利之匙赛场探秘之旅
2014/07/18 DOTA
[02:00]DOTA2英雄COSPLAY闹市街头巡游助威2015国际邀请赛
2015/08/02 DOTA
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
[01:35:13]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第一场 1月18日
2021/03/11 DOTA
在Python中用has_key()方法查找键是否存在的教程
2015/05/21 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
python 的topk算法实例
2020/04/02 Python
基于CSS3的CSS 多栏(Multi-column)实现瀑布流源码分享
2014/06/11 HTML / CSS
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
HTML5 placeholder(空白提示)属性介绍
2013/08/07 HTML / CSS
任意存:BOXFUL
2018/05/21 全球购物
新领导上任欢迎词
2014/01/13 职场文书
批评与自我批评材料
2014/02/15 职场文书
求职信怎么写范文
2014/05/26 职场文书
端午节寄语2015
2015/03/23 职场文书
考博导师推荐信范文
2015/03/27 职场文书
计算机教师工作总结
2015/08/13 职场文书
解析CSS 提取图片主题色功能(小技巧)
2021/05/12 HTML / CSS
Nginx+Windows搭建域名访问环境的操作方法
2022/03/17 Servers