广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 购物车程序
  • 175
分享到

python 购物车程序

购物车程序python 2023-01-30 21:01:59 175人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

需求:1.启动程序后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退出时,打印已购买商品和余额首先分析第1条,输入工资,只需要执行一

需求:


1.启动程序后,让用户输入工资,然后打印商品列表

2.允许用户根据商品编号购买商品

3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 

4.可随时退出,退出时,打印已购买商品和余额


首先分析第1条,输入工资,只需要执行一次即可,所以它是在循环外层的。

另外得判断,输入的是否是数字,需要用到isdigit()方法

salary = input("请输入你的工资:")
#isdigit() 判断是否是数字
if salary.isdigit():
    #用户输入的转换为数字
    salary = int(salary)
else:
    print("输入错误,请输入数字!")

执行程序,当输入的不是数字时,就会有提示

请输入你的工资:wrwr
输入错误,请输入数字!


第2条,需要循环商品的编号、名称、价格

可以用2个列表,来分别存放商品名称和价格

product = ['Iphone','Mac Pro','Bike']
price = [5800,9800,800]

不推荐这么做,如果一旦商品顺序更换了,那么价格就不对了。

可以用列表加元组的方式来完成

product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('python',120),
]

那么问题来了,商品编号,怎么办呢?

列表的元素都是有索引的,用索引来代替商品编号


enumerate()是Python的内置函数

enumerate将其组成一个索引序列,利用它可以同时获得索引和值

product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Python',120),
]
for index, item in enumerate(product_list):
    print(index, item)

index和item 分别对应索引和值

执行输出

0 ('Iphone', 5800)

1 ('Mac Pro', 9800)

2 ('Bike', 800)

3 ('Watch', 10600)

4 ('Coffee', 31)

5 ('Python', 120)


购买商品是一个持续过程,可以连续购买,这个时候,需要用到while循环

#商品列表
product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Python',120),
]
salary = input("请输入你的工资:")
#isdigit() 判断是否是数字
if salary.isdigit():
    #用户输入的转换为数字
    salary = int(salary)
    while True:
        # 打印商品列表
        for index, item in enumerate(product_list):
            print(index, item)
        break
else:
    print("输入错误,请输入数字!")

执行程序,效果如下:

shop1.gif

用户输入完工资之后,需要打印商品列表,输入指定的商品编号

#商品列表
product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Python',120),
]
salary = input("请输入你的工资:")
#isdigit() 判断是否是数字
if salary.isdigit():
    #用户输入的转换为数字
    salary = int(salary)
    while True:
        # 打印商品列表
        for index, item in enumerate(product_list):
            print(index, item)
        user_choice = input("请输入购买的商品编号:")
        # 判断商品编号是否是数字
        if user_choice.isdigit():
            user_choice = int(user_choice)
            # 判断编号是否小于商品列表的长度以及大于等于0
            if user_choice < len(product_list) and user_choice >= 0:
                # 用户选择的商品信息
                p_item = product_list[user_choice]
            else:
                print("商品编号不存在!")
        else:
            print("编号错误,请输入数字!")
else:
    print("输入错误,请输入数字!")

执行程序,效果如下:

shop2.gif

第3点要求: 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 

在循环外层,需要加一个购车车列表,存放购买的商品

#购物车列表,默认是空的
shopping_list = []

下面开始扣款

#商品列表
product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Python',120),
]
#购物车列表,默认是空的
shopping_list = []
salary = input("请输入你的工资:")
#isdigit() 判断是否是数字
if salary.isdigit():
    #用户输入的转换为数字
    salary = int(salary)
    while True:
        # 打印商品列表
        for index, item in enumerate(product_list):
            print(index, item)
        user_choice = input("请输入购买的商品编号:")
        # 判断商品编号是否是数字
        if user_choice.isdigit():
            user_choice = int(user_choice)
            # 判断编号是否小于商品列表的长度以及大于等于0
            if user_choice < len(product_list) and user_choice >= 0:
                # 用户选择的商品信息
                p_item = product_list[user_choice]
                # p_item[1] 商品价格,判断是否小于等于工资,代表买的起
                if p_item[1] <= salary:
                    # 扣钱,等同于salary = salary - p_item[1]
                    salary -= p_item[1]
                    # 将商品信息(元组)写入列表
                    shopping_list.append(p_item)
                    print("商品%s已加入到购车,您的余额还剩 %s" % (p_item, salary))
                else:
                    print("你的余额为 %s ,无法购买此商品!" %(salary))
            else:
                print("商品编号不存在!")
        else:
            print("编号错误,请输入数字!")
else:
    print("输入错误,请输入数字!")

执行程序,效果如下:

shop3.gif

显示余额的时候,可以显示为红色

把print()里面的%s 替换为下面的代码即可

31表示红色,32表示绿色

41表示红色背景,42表示绿色背景

\033[31;1m%s\033[0m

可以余额不足时,用红色背景文字提示

完整代码如下:

#商品列表
product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
    ('Watch',10600),
    ('Coffee',31),
    ('Python',120),
]
#购物车列表,默认是空的
shopping_list = []
salary = input("请输入你的工资:")
#isdigit() 判断是否是数字
if salary.isdigit():
    #用户输入的转换为数字
    salary = int(salary)
    while True:
        # 打印商品列表
        for index, item in enumerate(product_list):
            print(index, item)
        user_choice = input("请输入购买的商品编号:")
        # 判断商品编号是否是数字
        if user_choice.isdigit():
            user_choice = int(user_choice)
            # 判断编号是否小于商品列表的长度以及大于等于0
            if user_choice < len(product_list) and user_choice >= 0:
                # 用户选择的商品信息
                p_item = product_list[user_choice]
                # p_item[1] 商品价格,判断是否小于等于工资,代表买的起
                if p_item[1] <= salary:
                    # 扣钱,等同于salary = salary - p_item[1]
                    salary -= p_item[1]
                    # 将商品信息(元组)写入列表
                    shopping_list.append(p_item)
                    print("商品%s已加入到购车,您的余额还剩 \033[31;1m%s\033[0m" % (p_item, salary))
                else:
                    print("\033[41;1m你的余额为 %s ,无法购买此商品!\033[0m" %(salary))
            else:
                print("商品编号不存在!")
        else:
            print("编号错误,请输入数字!")
else:
    print("输入错误,请输入数字!")

执行效果如下:

blob.png


第4点要求: 可随时退出,退出时,打印已购买商品和余额

退出直接用exit()即可

为了减少图片的长度,我只留了3个商品

完整代码如下:

#!/usr/bin/env python
# coding: utf-8
__author__ = 'www.py3study.com'

#商品列表
product_list = [
    ('Iphone',5800),
    ('Mac Pro',9800),
    ('Bike',800),
]
#购物车列表,默认是空的
shopping_list = []
salary = input("请输入你的工资:")
#isdigit() 判断是否是数字
if salary.isdigit():
    #用户输入的转换为数字
    salary = int(salary)
    while True:
        # 打印商品列表
        for index, item in enumerate(product_list):
            print(index, item)
        user_choice = input("请输入购买的商品编号:")
        # 判断商品编号是否是数字
        if user_choice.isdigit():
            user_choice = int(user_choice)
            # 判断编号是否小于商品列表的长度以及大于等于0
            if user_choice < len(product_list) and user_choice >= 0:
                # 用户选择的商品信息
                p_item = product_list[user_choice]
                # p_item[1] 商品价格,判断是否小于等于工资,代表买的起
                if p_item[1] <= salary:
                    # 扣钱,等同于salary = salary - p_item[1]
                    salary -= p_item[1]
                    # 将商品信息(元组)写入列表
                    shopping_list.append(p_item)
                    print("商品%s已加入到购车,您的余额还剩 \033[31;1m%s\033[0m" % (p_item, salary))
                else:
                    print("\033[41;1m你的余额为 %s ,无法购买此商品!\033[0m" %(salary))
            else:
                print("商品编号不存在!")
        #当输入q的时候
        elif user_choice == 'q':
            #打印商品列表
            print("---已购买的商品列表---")
            for p in shopping_list:
                print(p)
            #打印余额
            print("您的余额还剩 \033[31;1m%s\033[0m" % salary)
            #程序退出
            exit()
        else:
            print("编号错误,请输入数字!")
else:
    print("输入错误,请输入数字!")

执行效果如下:

shop4.gif

--结束END--

本文标题: python 购物车程序

本文链接: https://www.lsjlt.com/news/178992.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 购物车程序
    需求:1.启动程序后,让用户输入工资,然后打印商品列表2.允许用户根据商品编号购买商品3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒 4.可随时退出,退出时,打印已购买商品和余额首先分析第1条,输入工资,只需要执行一...
    99+
    2023-01-30
    购物车 程序 python
  • python之购物车程序
    题目: 购物车程序业需求:数据结构:goods = [{"name": "电脑", "price": 1999},{"name": "鼠标", "price": 10},{"name": "游艇", "price": 20},{"name"...
    99+
    2023-01-31
    购物车 程序 python
  • python实现购物车小程序
    本文实例为大家分享了python实现购物车小程序的具体代码,供大家参考,具体内容如下 功能实现: (1)可以查看购物车的商品,和余额 (2)可以显示商品列表,根据商品的编号选择商品 ...
    99+
    2022-11-13
  • python编写购物车小程序
     #练习#程序购物车#启动程序后,让用户输入工资,  然后打印商品列表,允许用户根据商品编号购买商品用户选择商品后 #检测余额是否够,够就直接扣款,不够就提醒可随时退出,退出时,打印已购买商品和余额  commdity_dict={ ...
    99+
    2023-01-30
    购物车 程序 python
  • python3 购物车小程序
    #Author Chen #定义商品列表List_of_commodities = [('Iphone',6888),('Mac Pro',12888),('Bike',3000),('Book',34),('Cut',98),] #定义...
    99+
    2023-01-31
    购物车 程序
  • python 购物车小程序(列表、循环、
    goods = [ ['iphone6s', 5800], ['mac book', 9000], ['coffee', 32], ['python book', 80], ['bi...
    99+
    2023-01-30
    购物车 程序 列表
  • Python实现简单购物车小程序
    本文实例为大家分享了Python实现简单购物车小程序的具体代码,供大家参考,具体内容如下 要求 代码 # --*--coding:utf-8--*-- # Author: 村雨 ...
    99+
    2022-11-13
  • Python购物车练习
    要求:    1.启动程序后,然该用户输入工资,然后打印商品列表    2.允许用户根据商品编号购买商品    3.用户选择商品后,检测余额是否足够,够就直接扣款,不够就提醒    4.可随时退出,退出时,打印已购买商品和余额python代...
    99+
    2023-01-31
    购物车 Python
  • python 购物车代码
    jiage = {}caojiaoyue = [{"name": "奥迪", "price": 10000},{"name": "摩托车", "price": 1000},{"name": "自行车", "price": 100},{"na...
    99+
    2023-01-31
    购物车 代码 python
  • python-ATM加购物车
    模拟实现一个ATM + 购物商城程序 1.额度 15000或自定义 4.支持多账户登录 ...
    99+
    2023-01-30
    购物车 python ATM
  • Python如何实现的简单购物车程序
    购物车程序需求: 用户输入购物预算 展示商品列表 用户购买商品,每次购买后提示用户购买信息和剩余预算 购物完成后打印购物花费和购物清单,并将商品从原列表移除 实现代码如下: #...
    99+
    2022-06-02
    python 购物车 python 购物车程序
  • Python如何实现简单购物车小程序
    小编给大家分享一下Python如何实现简单购物车小程序,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下要求代码# --*--coding:utf-8--*--# Author: 村雨...
    99+
    2023-06-29
  • 怎么用python脚本实现购物车小程序
    这篇“怎么用python脚本实现购物车小程序”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用python脚本实现购物车小...
    99+
    2023-06-29
  • 小程序实现购物车完整版
    小程序实现完整购物车[全选/反选计算金额/加减计算数量跟金额],供大家参考,具体内容如下 一、wxml页面代码模块 <view wx:if="{{hasList}}">...
    99+
    2022-11-12
  • my购物车
    sum=0 a=input("请输入“水果”或“衣服”:") if a=="手机": while True: shop = { '蓝葡萄', '水蜜桃', '草莓'} print(shop) ...
    99+
    2023-01-31
    购物车
  • 小程序怎么实现购物车抛物线动画
    这篇文章主要介绍“小程序怎么实现购物车抛物线动画”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“小程序怎么实现购物车抛物线动画”文章能帮助大家解决问题。分析要实现抛物线动画,我当时想到的是用插件的方式...
    99+
    2023-06-26
  • python实现购物车功能
    本文实例为大家分享了python实现购物车功能的具体代码,供大家参考,具体内容如下 功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买...
    99+
    2022-11-13
  • python购物车功能实现
    name = "gaowang" pwd = "123.abc" list_he=[]          #定义空列表,后面接收 for i in range(3):     username = input("请输入您的账号:")    ...
    99+
    2023-01-31
    购物车 功能 python
  • 【18】Python半成品购物车
    #!/usr/bin/env python#Author:Li QW '''程序需求:1、启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表2、允许用户根据商品编号购买商品3、用户选择商品后,检测余额是否够,够...
    99+
    2023-01-31
    半成品 购物车 Python
  • 小程序购物车动画如何优化
    这篇文章将为大家详细讲解有关小程序购物车动画如何优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。小程序购物车动画优化公司小程序点击加购时,会绘制一个抛物线动画,这个抛物线动画是计算出来的贝塞尔曲线上每个...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作