python模拟购物车小项目

# 模拟购物车:# 要求:# 1,用户先给自己的账户充钱:比如先充3000元。# 2,有如下的一个格式:# goods = [{"name": "电脑", "price": 1999},# {"name": "鼠标", "price": 10},# {"name": "游艇", "price": 20},# {"name": "美女", "price": 998},]# 3,页面显示 序号 + 商品名称 + 商品价格,如:# 1 电脑 1999# 2 鼠标 10# …## 4,用户输入选择的商品序号,然后打印商品名称及商品价格,并将此商品,# 添加到购物车(自己定义购物车),用户还可继续添加商品。# 5,如果用户输入的商品序号有误,则提示输入有误,并重新输入。# 6,用户输入N为购物车结算,依次显示用户购物车里面的商品,数量及单价,# 若充值的钱数不足,则让用户删除某商品,直至可以购买,若充值的钱数充足,则可以直接购买。# 7,用户输入Q或者q退出程序。# 8,退出程序之后,依次显示用户购买的商品,数量,单价,以及此次共消费多少钱,账户余额多少。# 充值金额# a =0# b =int(input())f1 =0s2 =0my_list2 =[] #已经购买的商品列表def chongzhi(b):    """    b:充值的金额    s2充值后余额    """global s2    s2 += bprint(f"充值后余额{s2}")    return s2

goods = [{"name": "电脑", "price": 1999},{"name": "鼠标", "price": 10},{"name": "游艇", "price": 20},{"name": "美女", "price": 998}, ]my_list1 = []  # 商品列表初始for i, dic in enumerate(goods):    a, b = list(dic.values())  # 利用字典键值对中的值转换成列表进行拆包print(i + 1, a, b)    my_list1.append(list(dic.values()))# print(my_list1)my_buy = []  # 购物车列表my_buy_dic = {}

for i, v in enumerate(my_list1):    my_buy_dic[f"{i + 1}"] = v  # 给字典 的键转换成数字型字符串    # {‘1‘: [‘电脑‘, 1999], ‘2‘: [‘鼠标‘, 10], ‘3‘: [‘游艇‘, 20], ‘4‘: [‘美女‘, 998]}

# print(my_buy_dic.keys())

def add_buy(wupin):    if wupin not in my_buy_dic.keys():        print("输入错误请重新输入")        return    else:        # print(my_buy_dic[wupin])my_buy.append(my_buy_dic[wupin])        print("添加商品成功")        print(f"购物车列表:{my_buy}")    my_buy_settlement = {}    for i in my_buy:

        if str(i) not in my_buy_settlement:            my_buy_settlement.setdefault(str(i), 1)        else:            my_buy_settlement[str(i)] += 1# print(my_buy_settlement)for k, v in my_buy_settlement.items():        # print(eval(k),v)s = ‘ ‘.join(str(i) for i in eval(k))        print(s, v)    return my_buydef buy_Settlement11(my_buy,s1):  #s1 充值后的余额print(my_buy)    my_buy_settlement = {}    for i in my_buy:

        if str(i) not in my_buy_settlement:            my_buy_settlement.setdefault(str(i), 1)        else:            my_buy_settlement[str(i)] += 1print(my_buy_settlement)    count = 0for k,v in my_buy_settlement.items():        # values = ‘,‘.join([unicode(i) for i in value_list])count+=eval(k)[-1] * v    print(count)    if count > int(float((s1))):        print("用户钱不足,请删减购物车,或者充值")        return    else:        global f1        f1= s1 - count        my_list2.extend(my_buy)        print(f"结算后余额是{f1}元")    return f"结算后余额是{f1}元"def del_my_buy(my_buy):    print("删除购物车中商品开始")    print(my_buy)    if len(my_buy)!=0:        my_buy.pop()    else:        print("购物车中已经没有商品了!")    # print("删除购物车列表中最后一个商品后:")    # print(f"购物车列表:{my_buy}")return my_buydef xunhuan():    while True:        wupin = input("请用户输入商品序号:")        if wupin.upper() == "Q":            print("退出程序")            if my_list2:                print(f"购买的商品为:{my_buy}",f"余额{f1}元")            else:                print("您没有结算")            return "退出程序"elif wupin.upper() == "N":            print("开始结算")            buy_Settlement11(my_buy,s2)        elif wupin.upper()=="C":            b =int(input())            chongzhi(b)        elif wupin.upper()=="D":            del_my_buy(my_buy)

        else:            add_buy(wupin)

def appstart():    xunhuan()

appstart()

原文地址:https://www.cnblogs.com/niucunguo/p/12003084.html

时间: 2024-08-15 17:01:03

python模拟购物车小项目的相关文章

python网页爬虫小项目开发

这是我最近接的一个小项目,花了是整整四天多时间,最终老师也很好,给了两千块的报酬. 任务是将http://www.examcoo.com/index/detail/mid/7网站下所有的试卷里的试题全部提取出来,首先按照题型进行分类,接着分析出题目的类型 类别 来源 出题时间等等信息,最终将这些信息转化到excel表格中,excel中的数据有着统一的格式.其中有些信息有关医学,故而需要自行了解. 由于仅仅是是为了完成最终的任务,故而没有使用什么爬虫框架之类的,也没有使用什么数据库来保存数据,尽量

python循环之for循环与模拟购物车小程序

for循环 for 变量 in 范围:     代码块...         contune                 #跳出本次循环接着执行下一次循环     for 变量 in 范围:         代码块...             break              #跳出本层循环,回到上一个for循环 else:                #其实for循环和while循环都有else子句,不过是当循环完全执行了才会执行     代码块...               

Python实现购物车小程序

开发环境,win7.Python3.6.Pycharm社区版2017 作业需求: 购物车程序:1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表    #再次登陆,输入工资进行充值服务,有没有人性化2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒4.可随时退出,退出时,打印已购买商品和余额5.在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示6.用户下一次登录后,输入用户名密码,直接回到上次的状

Python基础--01小项目体现的基础知识

part1:猜拳游戏 1 #coding=utf-8 #当有汉语时可能编译器不认识,需要定义代码 2 ''' 3 多行注释 4 写这个程序是为了熟悉python的基本语法 5 这是第一个小例子包含简单的if判断,循环和输入输出 6 实现功能是循环猜数字游戏 7 ''' 8 #这是一个python程序---单行注释 9 10 11 import random #类似Java的导入包操作 12 13 while True: #python 中没有大括号这个概念,利用缩进和冒号来进行代码的分割 14

python 练习购物车小程序

1 # -*- coding:utf-8 -*- 2 shp = [ 3 ['iphone',5000], 4 ['offee',35], 5 ['shoes',800] 6 ] 7 pric_list = [] 8 e = int(raw_input("请输入账户金额:")) 9 while True: 10 for i,p in enumerate(shp): 11 print i,p[0],p[1] 12 enther = raw_input("请输入要购买的商品序号:

python学习-购物车小程序

购物车功能要求: 要求用户输入总资产,例如:2000显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功.附加:可充值.某商品移除购物车 1 goods = [ 2 {"name": "电脑", "price": 1999}, 3 {"name": "鼠标", "price": 10}, 4 {"name":

Python 综合应用小项目一

数据库报错重连机制 利用异常捕获来获取mysql断开的报错,然后再重连 1 import MySQLdb as mysql 2 3 class DB: 4 def __init__(self,host,user,passwd,db_name): 5 self.conn = None 6 self.cursor = None 7 self.host = host 8 self.user = user 9 self.passwd = passwd 10 self.db_name = db_name

python 模拟登录 Django项目 CSRF (以jumpserver举例子)

目录: config.ini jumpserver.py config.ini [local_environment] title = 本地测试环境 url = http://192.168.100.28/ login_url= http://192.168.100.28/users/login/ user_url = http://192.168.100.28/users/user/ user_list_url= http://192.168.100.28/api/users/v1/users

Python爬虫实战小项目

爬取国家药品监督管理总局中基于中华人民共和国化妆品生产许可证相关数据 import requests from fake_useragent import UserAgent ua = UserAgent(use_cache_server=False,verify_ssl=False).random headers = { 'User-Agent':ua } url = 'http://125.35.6.84:81/xk/itownet/portalAction.do?method=getXkz