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")