python 购物车小程序

python 购物车小程序

功能要求:
1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时,打印已购买商品和余额
5、在用户使用过程中,
关键输出,如余额,商品已加入购物车等消息,需高亮显示

一、思路导图

 

二、代码实现

 1 #!/usr/bin/env python3
 2 # -*- coding:utf-8 -*-
 3 # Author: davie
 4 """
 5 功能要求:
 6 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
 7 2、允许用户根据商品编号购买商品
 8 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
 9 4、可随时退出,退出时,打印已购买商品和余额
10 5、在用户使用过程中,
11 关键输出,如余额,商品已加入购物车等消息,需高亮显示
12 """
13 product_list = [
14 {"name":"电脑","price": 1999},
15 {"name":"鼠标","price": 10},
16 {"name":"游艇","price": 20},
17 {"name":"美女","price": 998},
18 {"name":"watch","price":10600},
19 {"name":"iphone","price":8800},
20 {"name":"mac pro","price":14000}
21 ]
22 shopping_list = []
23 username = 'davie'
24 password= 'davie123'
25 user_info = {"username":"davie","password":"davie123","salary":30000}
26 print("----------欢迎登陆----------")
27 _username = input("请输入您的用户名: ").strip()
28 _password = input("请输入您的密码: ").strip()
29 if _username == user_info["username"] and _password == user_info["password"]:
30     salary = input("请输入你的薪资: ").strip()
31     if salary.isdigit():
32         salary = int(salary)
33         while True:
34             print("---------商品列表--开始------------")
35             for idx, item in enumerate(product_list):
36                 print(idx, item)
37             print("---------商品列表--结束------------")
38             user_choice = input("请输入选择商品编号,输入q退出: ")
39             if user_choice.isdigit():
40                 user_choice = int(user_choice)
41                 if user_choice >=0  and user_choice<len(product_list):
42                     p_item = product_list[user_choice]
43                     if p_item["price"] <= salary:
44                         shopping_list.append(p_item)
45                         salary -= p_item["price"]
46                         print("已经将%s添加到您的购物车了,你的余额是 \033[0;31m%s\033[0m元"%(p_item,salary))
47                     else:
48                         print("你的余额还剩下: \033[31m%s\033[0m元; 无法购买:%s; "%(salary,p_item),'还差: \033[0;31m%s\033[0m元'%(p_item["price"]-salary))
49                 else:
50                     print("\033[31m你选择的商品不存在!\033[0m,请重新选择: ")
51                     if user_choice == "q" or user_choice == "Q":
52                         print("\033[31m你选择了退出...\033[0m")
53                         print("------------\033[34m你已经购买了如下商品-开始\033[0m-------------")
54                         for idx, shopping_good in enumerate(shopping_list):
55                             print(idx, shopping_good)
56                         print("你当前的余额为:\033[36m%s元\033[0m" % (salary))
57                         print("------------\033[34m你已经购买了如上商品-结束\033[0m-------------")
58                         exit("已结束...")
59             elif user_choice == "q" or user_choice == "Q":
60                 print("\033[31m你选择了退出...\033[0m")
61                 print("------------\033[34m你已经购买了如下商品-开始\033[0m-------------")
62                 for idx, shopping_good in enumerate(shopping_list):
63                     print(idx, shopping_good)
64                 print("你当前的余额为:\033[36m%s元\033[0m" % (salary))
65                 print("------------\033[34m你已经购买了如上商品-结束\033[0m-------------")
66                 exit("已结束...")
67             else:
68                 print("你输入的参数无效,已结束!")
69                 print("------------\033[34m你已经购买了如下商品-开始\033[0m-------------")
70                 for idx, shopping_good in enumerate(shopping_list):
71                     print(idx, shopping_good)
72                 print("你当前的余额为:\033[36m%s元\033[0m" % (salary))
73                 print("------------\033[34m你已经购买了如上商品-结束\033[0m-------------")
74                 break
75 else:
76     print("\033[0;31m对不起,登陆失败!\033[0m")
View Code

 


posted @ 2018-03-25 14:22  davie2020  阅读(357)  评论(0编辑  收藏  举报