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