超市购物车功能

news/2024/11/20 4:43:46/

1 问题

平常去超市买的要买的东西过多后,记不清楚怎么办?

2 方法

解决问题的步骤采用如下方式:

  1. 首先运用字典储存已有商品跟价格

  2. 注释引导顾客进行操作;

通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。

代码清单 1

#产品列表
products = [['iphone8', 6888], ['macPro', 15888],['小米8', 2599], ['coff', 50], ['book', 40],
           ['Nike shoes', 500]]
# 购物车列表
shopping = ['iphone8']
print("欢迎适用本系统,本系统初始状态如下:")
print("产品列表:\n",products)
print("购物车列表:\n",shopping)
while True:
   while True:
       try:
           fun_num = int(input("\n请选择购物车功能:\n1.添加商品\t2.删除商品\t3.查看购物车  4.退出系统\n"))
           break
       except ValueError:
           print("输入错误,请重新输入!")
   # 1.添加商品 (不重复添加)
   if fun_num == 1:
       goods = input("请选择要添加的商品\n")
       for index , item in enumerate(products):
           #判断商品是否在商品列表中
           if goods == item[0] and goods != '':
               #判断商品是否已经在购物车中
               if goods not in shopping:
                   shopping.append(goods)
                   print("添加成功!")
               else:
                   print("该商品已在购物车内!")
               break
       else:
           print("输入的产品不在产品列表中!")
   # 2. 删除商品
   elif fun_num == 2:
       move_goods = input("请选择要移出购物车的商品:\n")
       if move_goods in shopping:
           shopping.remove(move_goods)
           print("移除成功")
       else:
           print("该商品不存在购物车内!")
   # 3. 查看购物车
   elif fun_num == 3:
       print(shopping)
   # 4. 退出系统
   elif fun_num == 4:
       print("感谢您使用本系统!")
       break
   else:
       print("指令错误,请重新输入!")

3 结语

针对超市顾客在选购商品时候,能够很好的运用购物车进行选择,清点自己想要买的商品。


http://www.ppmy.cn/news/75730.html

相关文章

给初学者的Vue.js项目搭建教程

部分数据来源:ChatGPT 1. 环境准备 在开始创建 Vue.js 项目前,需要保证已经安装了 Node.js(建议版本12)和 NPM(Node.js 自带的包管理工具)。 可以执行以下命令确认是否已经安装: node -v np…

Java 使用 jdbc 连接 mysql

简介 Java JDBC 是 Java Database Connectivity 的缩写,它是一种用于连接和操作数据库的标准 API。Java JDBC 可以让 Java 程序通过 JDBC 驱动程序连接到各种不同类型的数据库,并且执行 SQL 语句来实现数据的读取、插入、更新、删除等操作。在本篇文章中…

ES6中async函数

1.async函数 说明: 通常就是Generator函数的语法糖,async函数自带执行器,也就是说,async函数的执行,与普通函数使用一样。语义化,加上async函数表示时异步操作,await表示需要等待结果。通用性&#xff0…

python+django网上书籍商城小说在线阅读分享下载系统k19is-vue

为了解决用户便捷地在网上购物以及下载文件,本文设计和开发了一个网页小说阅读系统。本系统是基于 B/S架构设计,Dango框架 ,Python技术的前台页面设计与实现,使用Mysql数据库管理来完成系统的相关功能。主要实现了管理员与用户的注…

Flutter3.10版本发布,编程语言的重大更新

Flutter是一款强大的跨端开发框架,可以帮助开发者构建高性能、美观、灵活的应用程序,从而实现跨平台开发和部署。小程序容器技术与跨端框架结合使用,为开发者提供一站式的小程序开发和发布服务,帮助他们更加轻松和高效地构建和部署…

40亿个QQ号,限制1G内存,如何去重?

40亿个QQ号,限制1G内存,如何去重? 40亿个unsigned int,如果直接用内存存储的话,需要: 4*4000000000 /1024/1024/1024 14.9G ,考虑到其中有一些重复的话,那1G的空间也基本上是不够…

Java自定义类:打造属于自己的编程世界

🧑‍💻CSDN主页:夏志121的主页 📋专栏地址:Java核心技术专栏 目录 一、自定义类示例 二、隐式参数与显式参数 三、封装的优点 自定义类是Java中最基本、也是最重要的组成部分之一,使用者可以根据需求创建…

PCIe 载板设计资料原理图:382-基于FMC+的XCVU3P高性能 PCIe 载板

基于FMC的XCVU3P高性能 PCIe 载板 一、板卡概述 板卡主控芯片采用Xilinx UltraScale16 nm VU3P芯片(XCVU3P-2FFVC1517I)。板载 2 组 64bit 的DDR4 SDRAM,支持 IOX16或者 JTAG 口,支持PCIe X 16 ReV3.0以及 FMC 扩展接口。…