购物车升级练习
2017-12-11 13:24 龙武大帝 阅读(145) 评论(0) 收藏 举报一、作业要求
- 判断用户名是用户还是商家
- 用户则输入工资,打印商品列表
- 用户选择商品,如果余额够就直接购买,不够就提醒
- 用户可随时退出,退出时打印已购的商品和余额
- 如果是商家则提示是否修改商品的价格,或者添加商品
二、所用文件
1、user.txt
2、seller.txt
3、shopping_list.txt
三、流程图

四、购物车代码
#!/usr/bin/env python3.5 # -*- coding: utf-8 -*- # Author:chuck zeng shopping_list = [] username = input(">>>请输入用户名:") file = open("shopping_list.txt",'r+') #打开文件 f = str(file.read()) #读取文件 data = eval(f) #转换成内容格式 f1 = open("user.txt",'r+') user_file = str(f1.read()) user_list = eval(user_file) f3 = open("seller.txt","r+") seller_file = str(f3.read()) seller_list = eval(seller_file) if username in user_list: print("系统检测到你是我们的顾客") #如果是在user_list里面,打印 salary = int(input(">>>请输入你的工资: ")) #输入工资 print(data) #打印商品 while True: choice = input(">>>请选择你需要买的商品或者按'q'退出: ") #选择购买的商品 if choice in data: if salary > data[choice]: #如果工资大于商品价格,则购买 shopping_list.append(choice) #增加购物车 salary -= data[choice] #扣除资金 print("你买了:\033[31m%s\033[0m,余额:\033[31m[%d]\033[0m" % (shopping_list, salary)) else: print("你的钱不够买这个商品") #如果工资小于价格,则退出 print("你买了:\033[31m%s\033[0m,余额:\033[31m[%d]\033[0m" % (shopping_list, salary)) exit() elif choice == 'q': #如果输入的是q,则退出 print("你买了:\033[31m%s\033[0m,余额:\033[31m[%d]\033[0m" % (shopping_list, salary)) exit() else: print("你输入的格式有错误,请重新输入") #如果是其他的则循环,重新输入需要买的商品 elif username in seller_list: #如果username在商家列表里面,则继续下面的 print("系统检测到您是我们的商家") print("您现在有以下商品: %s" % data) #打印目前的商品 while True: choice1 = input("您现在需要做什么操作?\n\033[31m增加商品请按1。\n修改商品价格请按2。\n删除商品请按3。\n退出请按'q': \033[0m ") #用户选择1、2、3或者'q' if choice1.isdigit(): choice1 = int(choice1) if choice1 == 1: #如果选择1,则是增加商品 print("您目前有如下商品:") for i in data: print(i) add = input("请输入您需要增加的商品:") add_price = input("请输入商品价格:") data[add] = add_price print("您现在的商品信息如下 %s" % data) elif choice1 == 2: #如果选择2,则是修改商品价格 print("您目前有如下商品:") for i in data: print(i) change = input("请输入您需要修改的商品:") change_price = input("请输入商品价格:") data[change] = change_price print("您现在的商品信息如下 %s" % data) elif choice1 == 3: #如果选择3,则是删除商品 print("您目前有如下商品:") for i in data: print(i) delete = input("请输入您需要删除的商品:") del data[delete] print("您现在的商品信息如下 %s" % data) else: print("你输入的格式有误,请重新输入") elif choice1 == 'q': #或者选择的q,退出 print("welcome to you next time,bye!") exit() else: print("你输入的格式有误") else: print("user is not exist") #用户名不在列表里面,则退出。 exit() file.close() f1.close() f3.close()
浙公网安备 33010602011771号