码迷,mamicode.com
首页 > 编程语言 > 详细

python 简易购物车程序解析

时间:2017-10-16 16:34:21      阅读:378      评论:0      收藏:0      [点我收藏+]

标签:blog   函数   ict   menu   exit   ext   用户信息   append   col   

购物车程序需求:用户信息为:

{‘wyf‘:{‘password‘: ‘12‘, ‘role‘: ‘2‘, ‘money‘: ‘100000‘, ‘carts‘: [‘iphone6‘, ‘mi5‘]},
‘fei‘: {‘password‘: ‘12‘, ‘role‘: ‘2‘, ‘money‘: ‘100000‘, ‘carts‘: [‘iphone6‘, ‘mi5‘]}}
用户角色role:1代表管理员,2,代表普通用户

普通用户的权限有:

1.查看所有商品;

2.输入商品名称购买商品,购买后加入到购物车里面,钱要减去.购买后的商品追加到购物车里面。

3.可以查看自己的余额,和 购物车商品

4.退出

管理员用户:

1.添加商品,输入商品名称和余额

2.充值,输入用户名,给他价钱

3.退出

 

思路解析:把每一个小的操作分枝封装成一个小函数,最后用户调用即可。本次运用到的知识点有:函数,文件修改,菜单。当前程序还有不足的地方,代码如下

def user_balance(name):#查询用户余额,以及购物车内商品
    f = open("user.txt","r+")
    user_info = eval(f.read())
    print(user_info)
    print("您的余额为: " + str(user_info[name]["money"]))
    print("购车内的商品有: " + str(user_info[name]["carts"]))
def use_user_balance():
    name = username
    user_balance(name)

def add_product(inp_product,inp_price): #已存在的商品修改价格,不存在的商品以及价格直接添加.
    fw = open(product.txt,a+)
    fw.seek(0)
    product_dict = eval(fw.read())
    product_dict[inp_product] = {price:inp_price}
    print(product_dict)
    fw.seek(0)
    fw.truncate()
    fw.write(str(product_dict))
    fw.flush()
def use_add_product():
    inp_product = input("请输入您要添加的商品:")
    inp_price = input("请输入您的商品价格:")
    add_product(inp_product,inp_price)

def all_product():
    f = open("product.txt","r+")
    product_list = eval(f.read())
    print("本店的商品有:" + str(product_list))

def buy_product(inp_product,name): #用户购买商品
    f = open("user.txt","r+")
    fw = open(product.txt)
    user_info = eval(f.read())
    product_list = eval(fw.read())


    if inp_product not in product_list:

        print("对不起,您输入的商品不存在,请输入正确的商品")

    else:
        user_money = int(user_info[name]["money"])
        product_price = int(product_list[inp_product]["price"])

        if user_money > product_price:
            print("可以购买")
            balance = user_money - product_price
            f.seek(0)
            user_info[name][money] = balance
            carts_list = user_info[name][carts]
            carts_list.append(inp_product)
            f.truncate()
            f.write(str(user_info))
            f.flush()

        else:
            print("对不起,您的账户余额不足,请联系管理员充值!")
def use_buy_product():
    name = username
    inp_product = input("请输入您要购买的商品名称:")
    buy_product(inp_product, name)

def user_add_money(name,inp_money):#输入用户名给用户充值
    f = open(user.txt,r+)
    f.seek(0)
    user_info = eval(f.read())
    # print(user_info)
    new_money = int(user_info[name][money]) + int(inp_money)
    user_info[name][money] = new_money
    print(user_info)
    f.seek(0)
    f.truncate()
    f.write(str(user_info))
    f.flush()
def use_user_add_money():
    name = input("需要充值的用户:")
    inp_money = input("本次充值多少元:")
    user_add_money(name, inp_money)


def exit_sys():
    exit(退出程序)

f = open("user.txt", "r+")
user_info = eval(f.read())
username = input("请输入您的用户名:")
password = input("请输入您的密码:")

if username not in user_info:
    print("用户名不正确,请重试")

else:
    if password == user_info[username]["password"]:
        print("欢迎 " + username + " 登录购物车!")
        if user_info[username]["role"] == 1:
            print("您好,您是管理员")
            choice = input(请选择您的操作:1.添加商品 2.用户充值 3.退出)
            menu1 = {
                "1": use_add_product,
                "2": use_user_add_money,
                "3": exit_sys

            }
            menu1[choice]()

        else:
            print("您好,您是普通用员")
            choice = input(请选择您的操作:1.查看所有商品 2.购买商品 3.查看余额以及已购商品 4.退出)
            menu2 = {
                "1": all_product,
                "2": use_buy_product,
                "3": use_user_balance,
                "4": exit_sys
            }
            menu2[choice]()


    else:
        print("密码不正确!请重试")

 

python 简易购物车程序解析

标签:blog   函数   ict   menu   exit   ext   用户信息   append   col   

原文地址:http://www.cnblogs.com/wmm007/p/7677017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!