码迷,mamicode.com
首页 > 编程语言 > 详细

python实现购物车

时间:2018-01-02 13:23:23      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:实现   post   python实现   art   ext   bre   alt   图片   技术   

一、 功能:

  1、 用户充值余额

    判断余额输入格式是否正确,正确则转换成float型。

  2、 显示商品列表

    根据已有商品显示所有商品的序号、商品名称、和价格供用户选择

  3、 用户选择商品

    判断用户输入

    (1) 若输入为数字则判断是否为负或超出商品序号范围

    (2) 若输出为“q”则打印已选择商品,并退出

    (3) 若前者都不是则判断非法,重新选择

  4、 用户选择商品后判断余额是否能够支付已选择商品的总价格

    (1) 可以支付则继续选择

    (2) 不可支付则提醒充值,充值完成后继续选择购买

 

二、 流程图

  技术分享图片

三、 代码

  

 1 # Author:晴空无云
 2 #购物车存储列表
 3 cartlist = []
 4 #商品列表
 5 goodslist = [[1,note,1.0],[2,Python Struct,88.0],[3,Java,55.0],[4,C++,1.0],]
 6 #余额,
 7 balance = input("请充值:")
 8 #判断余额是否合法
 9 if balance.isdigit():
10     #将balance转置成float
11     balance = float(balance)
12     while balance>=0:#余额不为负
13         print("*******商品列表********")
14         for index,item in enumerate(goodslist,start=1):
15             print(item)
16         user_choice = input("请选择购买商品:")
17         if user_choice.isdigit():# 判断商品选择是否合法
18             # 选择商品从1开始,列表下标是0
19             user_choice = int(user_choice)-1
20             if user_choice < 0:
21                 print("非法输入,商品序号不能为负")
22             elif (user_choice < len(goodslist)):
23                 price = goodslist[user_choice][2]
24                 if balance - price >=0 :
25                     balance = balance - price
26                     print("选择的商品为:",goodslist[user_choice])
27                     print("余额为:", balance)
28                     cartlist.extend(goodslist[user_choice])
29                 else:
30                     now_salar = input("余额不足,请充值:")
31                     if now_salar.isdigit():
32                         now_salar = int(now_salar)
33                         balance = balance + now_salar
34                         print("余额为:", balance)
35                     else:
36                         print("非法输入")
37 
38             else:
39                 print("选择商品不存在")
40         elif user_choice=="q":
41             print("-----已选购商品-----")
42             print(cartlist)
43             print("-----余额------")
44             print(balance, )
45             break
46         else:
47             print("商品序号非法输入")
48 else:
49     print("余额输入非法")

 

四、 测试结果

  1. 余额输入非法

  

请充值:d
余额输入非法
**********
请充值:-1
余额输入非法

  2. 测试打印商品列表

  

请充值:99
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:

  3.测试购买商品

  

请选择购买商品:1
选择的商品为: [1, note, 1.0]
余额为: 98.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:2
选择的商品为: [2, Python Struct, 88.0]
余额为: 10.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:

  4. 测试余额不足下充值

  

余额为: 9.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:2
余额不足,请充值:55
余额为: 64.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:

  5. 测试商品序号非法输入

  

*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:0
非法输入,商品序号不能为0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:-1
商品序号非法输入
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:5
选择商品不存在
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:dd
商品序号非法输入
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:

  6. 测试退出购买

请充值:999
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:1
选择的商品为: [1, note, 1.0]
余额为: 998.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:3
选择的商品为: [3, Java, 55.0]
余额为: 943.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:2
选择的商品为: [2, Python Struct, 88.0]
余额为: 855.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:4
选择的商品为: [4, C++, 1.0]
余额为: 854.0
*******商品列表********
[1, note, 1.0]
[2, Python Struct, 88.0]
[3, Java, 55.0]
[4, C++, 1.0]
请选择购买商品:q
-----已选购商品-----
[1, note, 1.0]
[3, Java, 55.0]
[2, Python Struct, 88.0]
[4, C++, 1.0]
-----总消费------
145.0
-----余额------
854.0 元

 

python实现购物车

标签:实现   post   python实现   art   ext   bre   alt   图片   技术   

原文地址:https://www.cnblogs.com/qingkongwuyun/p/8176535.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!