python基本数据类型实现购物车

功能要求:

  • 要求用户输入总资产,例如:2000
  • 显示商品列表,让用户根据序号选择商品,加入购物车
  • 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
  • 附加:可充值、某商品移除购物车

1

2

3

4

5

6

goods = [

    {"name""电脑""price"1999},

    {"name""鼠标""price"10},

    {"name""游艇""price"20},

    {"name""美女""price"998},

]

goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
]
money=int(input("请输入您的总金额:"))
cart={}#定义一个空的购物车
#商品列表
for i in goods:
    print(i["name"],i["price"])

while True:
    i2=input("请选择商品,y/Y结算;")
    #如果选择结算,则退出循环
    if i2.lower()=="y":
        break;
    for item in goods:
        if item["name"]==i2:
            name=item["name"]
            #如果购物车已有该商品,数量+1,若美女,则新建字典用于存储商品信息
            if name in cart.keys():
                cart[name]["num"]+=1;
            else:
                cart[name]={"num":1,‘sigle_price‘:item["price"]}
    print(cart)
    #结账
all_prices=0
for k,v in cart.items():
    n=v[‘sigle_price‘]
    m=v[‘num‘]
    all_sum=n*m;
    all_prices+=all_sum;
if all_prices>money:
    print("余额不足")
else:
    print("消费:",all_prices)

下面的实现方法存在点小问题,暂时还未找到解决方案,有懂得的朋友欢迎指正!

"""
功能要求:
    要求用户输入总资产,例如:2000
    显示商品列表,让用户根据序号选择商品,加入购物车
    购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
    附加:可充值、某商品移除购物车
"""
"""
1.创建空的购物车列表
2.要求用户输入金额资产
3.输入后列出商品列表
4.用户选择商品,加入购物车
5.结算,如果商品价格大于用户总资产提示余额不足,询问是否删除商品
6.结算资金充裕,提示购买成功,显示余额并退出
"""
goods = [
    {"name": "电脑", "price": 1999},
    {"name": "鼠标", "price": 10},
    {"name": "游艇", "price": 20},
    {"name": "美女", "price": 998},
]
cart={"good_list":[],"price_list":[]}

#用户输入账户金额
money=int(input("请输入您的账户金额:"))
#打印商品信息
print("Product List:")
while True:
    for k,v in enumerate(goods,1):
        for i in range(len(goods)):
            if k-1==i:
                print(k,goods[i]["name"],goods[i]["price"])
    #用户选择商品
    products=int(input("请选择你喜欢的商品:"))
    print("你选择的商品是:",goods[products-1]["name"],"花费:",goods[products-1]["price"])
    #计算选择商品后的余额
    cur_assets=money-goods[products-1]["price"]
    if cur_assets>0:
        cart["good_list"].append(goods[products-1]["name"])   #如果资金充足,将商品加入购物车,并结算
        cart["price_list"].append(goods[products-1]["price"])
        print("你目前的账户余额为:",cur_assets,"¥")
        choose=input("继续购物,请按‘c‘;结账,请按‘o‘;显示信息,请按‘l‘;退出,请按‘q‘")
        #查看加入购物车的商品信息
        if choose==‘l‘:
            for prod,val in enumerate(cart["good_list"],1):
                print(prod,val)
                break
        elif choose==‘q‘:
            print("谢谢惠顾")
            break;
        elif choose==‘c‘:
            continue
        elif choose==‘o‘:
            total=sum(cart["price_list"])
            if total>money:
                print("余额不足!")
            else:
                print("谢谢,本次花费:",total,‘¥‘,"余额:",money-total,"¥")
                break;
        else:
            print("错误,请重新输入:")
    else:
        print("对不起,您的账户余额不足!")
        break
时间: 2024-11-08 20:35:59

python基本数据类型实现购物车的相关文章

Python基础数据类型考试题

# Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意组成 # 2.不能以数字开头 # 3.不能使用python关键字 # 4.变量要具有可描述性 # 5.变量不能是中文 # 5.官网推荐骆峰体和下划线,这里推荐下划线 # 2,字节和位的关系.(2分) # 1字节 = 8位 # 3,'太白'使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占

python常用数据类型内置方法介绍

熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 一.整型 a = 100 a.xxx() class int(object): def bit_length(self): ##如果将某个整数用2进制表示,返回这个2进制所占bit位数. return 0 def conjugate(self, *args, **kwargs): ##共轭复数 @classmethod # known case def from_bytes(cls, bytes, byteorder, *ar

python 判断数据类型

import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is int" if isinstance(aaa,int): print "the type of aaa is int" bbb = 'hello' print type(bbb) if type(bbb) is types.StringType: print "the t

python的数据类型

Python的数据类型包括以下几种: 1.整数型--int 比如1,2,3,这些我们数学上常用的整数,都是整数 还包括负整数,但是不包括小数 >>>a=8 >>>type(a) <class 'int'> 2.长整数--long 32位系统上是2**31-1,64位系统上是2**63 -1,超出位数,python会转用高精度去计算,可以是无限大的整 版本2.7.11以上,如果整数超出位数的话会自动转为长整数,以前是在整数后面加个小写或者大写的l #py2.7

python核心数据类型笔记

在这里,首先声明,python核心数据类型在这里就认为是python内置的数据类型 在python中.序列类型包含字符串,列表和元组 字符串: 字符串字面量:将文本引入单引号,双引号,三引号 默认的编码类型是字符编码(8bit) 在python2中,如果要使用unicode编码(16bit),需在定义字符串的引号前面加u 在python中,有文档字符串的概念,所谓文档字符串就是在模块,类或则是函数中的第一条语句是一个字符的话(用引号定义),那么该字符就是文档字符串,可以使用__doc__属性引用

Python复杂数据类型

复杂数据类型有哪些? 各特性是什么? 各使用场景是什么? 列表和元组的区别是什么?为什么会有这两种数据类型? 列表和元组为什么可以存放不能类型的数据? 什么是工厂函数? 字符串     特性:         1.在Python中没有字符类型所以定义字符串可以用双引号或单引号         2.字符串是不可变类型         3.三引号可包含复杂字符串 >>> a=''' ... 1 ... 2 ... 3 ... ''' >>> a '\n1\n2\n3\n'

python之数据类型(学习笔记二)

python之数据类型(学习笔记二) 在Python中,能够直接处理的数据类型有以下几种: (1)整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例 如: 1 , 100 , ‐8080 , 0 ,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和0-9,a-f表示,例 如: 0xff00 , 0xa5b4c3d2 ,等等. (2)浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时

关于python的数据类型

怕忘记,所以记录下来关于python的数据类型 后期会不断完善 区分整形与浮点型:看数值有没有小数点 1.整形:int 可以把字符串和浮点数转化为整形 2.字符串:str 用'',"",''''''来包含 如果字符串中有单引号,那么要用双引号包含字符串,三引号一般用于带有换行的段落. 可以把整形和浮点数转化为字符串 3.浮点型:float 可以把字符串和整形转化为浮点数 具体实例: >>> a = '2333' >>> b= int(a) >&

python学习--数据类型

1.      数据类型:数字 字符串 列表 元组  字典 1) 数字类型: A)整形 int 范围是:-2147483648~2147483647 Type()可以查看数据的类型. B)长整形  long    一般超出整形的范围的都是长整形. 为了区分普通整数和长整数,需要在长整形的后面加L或者是l(小写的L) C)浮点型   float 带小数点的和科学技术法的数一般都是浮点型. D)复数类型   complex 在数字的后面加上小写的J就是复数类型了 2)字符串   使用引号的一组可以包