我是靠谱客的博主 怕孤独帆布鞋,最近开发中收集的这篇文章主要介绍python 购物车分析_python 简易购物车程序解析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

{'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 op_file(file_name,content=None):

f = open(file_name, 'a+')

f.seek(0)

if content:

f.truncate()

f.write(str(content))

f.flush()

res = None

else:

res = eval(f.read())

f.close()

return res

def user_balance(name):#查询用户余额,以及购物车内商品

# open_file("user.txt")

op_file("user.txt",content=None)

name = username

print("您当前的余额为: " + str(user_info[name]["money"]))

carts_list = user_info[name]["carts"]

# print("购车内的商品有: " + str(user_info[name]["carts"]))

print("您购物车包含的商品为:%s" % ','.join(carts_list))

def use_user_balance():

name = username

user_balance(name)

def add_product(inp_product,inp_price): #已存在的商品修改价格,不存在的商品以及价格直接添加.

product_dict = op_file("product.txt")

product_dict[inp_product] = {'price':inp_price}

print(product_dict)

product_list = list(product_dict)

print("店铺商品共有:" + " , ".join(product_list))

content = str(product_dict)

def use_add_product():

inp_product = input("请输入您要添加的商品:")

inp_price = input("请输入您的商品价格:")

add_product(inp_product,inp_price)

def all_product():

# product_list = open_file("product.txt")

product_list = op_file("product.txt",content=None)

print("店铺商品共有:" + " , ".join(product_list))

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 = op_file('product.txt')

user_info = op_file('user.txt')

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)

print("您购物车包含的商品为:%s"% ','.join(carts_list))

print("欢迎下次光临")

# f.truncate()

# f.write(str(user_info))

# f.flush()

content = str(user_info)

# op_file(product.txt,content)

else:

print("对不起,您的账户余额不足,请联系管理员充值!")

def use_buy_product():

name = username

all_product()

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)

if name in user_info:

new_money = int(user_info[name]['money']) + int(inp_money)

user_info[name]['money'] = new_money

print("当前用户余额为:",new_money)

f.seek(0)

f.truncate()

f.write(str(user_info))

f.flush()

else:

print("您输入的用户名不存在,请输入正确的用户名进行充值!")

def use_user_add_money():

name = input("需要充值的用户:").strip()

# inp_money = input("本次充值多少元(请输入整数):")

while True:

inp_money = input("本次充值多少元:").strip()

if inp_money.isdigit():

break

else:

print("充值的金额必须为整数哦~")

user_add_money(name, inp_money)

def exit_sys():

exit('退出程序')

def admin_menu():

admin_choice = input('请选择您的操作:【1】.添加商品 【2】.用户充值 【3】.退出n请选择:')

if admin_choice == '1':

use_add_product()

print("***************添加商品成功,即将返回上一级菜单***************")

elif admin_choice == '2':

use_user_add_money()

print("**************用户充值成功,即将返回上一级菜单***************")

elif admin_choice == '3':

exit_sys()

else:

print("请选择正确的操作!")

admin_menu()

def user_menu():

user_choice = input('请选择您的操作:【1】.查看所有商品 【2】.购买商品 【3】.查看余额以及已购商品 【4】.退出n请选择:')

if user_choice == '1':

all_product()

print("**************查看商品完毕,即将返回上一级菜单***************")

elif user_choice == '2':

use_buy_product()

print("**************购买商品成功,即将返回上一级菜单***************")

elif user_choice == '3':

use_user_balance()

print("**************账户信息查询成功,即将返回上一级菜单***************")

elif user_choice == '4':

exit_sys()

else:

print("操作异常,请选择正确的操作!")

user_menu()

# user_info = open_file('user.txt')

user_info = op_file('user.txt',content=None)

username = input("请输入您的用户名:").strip()

password = input("请输入您的密码:").strip()

if username not in user_info:

print("用户名不正确,请重试")

else:

if password == user_info[username]["password"]:

print("欢迎 " + username + " 进入店铺")

if user_info[username]["role"] == '1':

print("您好,您是管理员")

admin_choice = input('请选择您的操作:【1】.添加商品 【2】.用户充值 【3】.退出n请选择:')

if admin_choice == '1':

use_add_product()

print("***************添加商品成功,即将返回上一级菜单***************")

admin_menu()

elif admin_choice == '2':

use_user_add_money()

print("**************用户充值成功,即将返回上一级菜单***************")

admin_menu()

elif admin_choice == '3':

exit_sys()

else:

print("请选择正确的操作!")

else:

print("您好,您是普通用员")

user_choice = input('请选择您的操作:【1】.查看所有商品 【2】.购买商品 【3】.查看余额以及已购商品 【4】.退出n请选择:')

if user_choice == '1':

all_product()

print("**************查看商品完毕,即将返回上一级菜单***************")

user_menu()

elif user_choice == '2':

use_buy_product()

print("**************购买商品成功,即将返回上一级菜单***************")

user_menu()

elif user_choice == '3':

use_user_balance()

print("**************账户信息查询成功,即将返回上一级菜单***************")

user_menu()

elif user_choice == '4':

exit_sys()

else:

print("操作异常,请选择正确的操作!")

else:

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

最后

以上就是怕孤独帆布鞋为你收集整理的python 购物车分析_python 简易购物车程序解析的全部内容,希望文章能够帮你解决python 购物车分析_python 简易购物车程序解析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(79)

评论列表共有 0 条评论

立即
投稿
返回
顶部