代码改变世界

购物车升级练习

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()
购物车