python编写购物车小程序_python3 购物车小程序

-- coding:utf-8 --

#Author Chen

#定义商品列表

List_of_commodities = [

('Iphone',6888),

('Mac Pro',12888),

('Bike',3000),

('Book',34),

('Cut',98),

]

#定义一个空列表,用于存放已购商品

Purchased_goods = []

Amount_of_shopping = input("请输入您的购物金额:")

if Amount_of_shopping.isdigit():

Amount_of_shopping = int (Amount_of_shopping)

while True:

for index,item in enumerate(List_of_commodities):

print(index,item)

chioce = input("请输入您选择的商品编号:")

if chioce.isdigit():

chioce = int(chioce)

if chioce < len(List_of_commodities) and chioce >= 0 :

chitem = List_of_commodities[chioce]

if chitem[1] <= Amount_of_shopping:

Purchased_goods.append(chitem)

Amount_of_shopping-=chitem[1]

print("您购买的 %s 已添加到购物车,您当前余额是 %s " %(chitem,Amount_of_shopping) )

else:

print("您的余额不足,请充值后再来!!!")

else:

print("您选择的商品不存在")

elif chioce == 'q':

print("---------------------------PURCHASED GOODS ----------------------------")

for i in Amount_of_shopping:

print(i)

print("您当前余额是",Amount_of_shopping)

exit()

else:

print("您输入有误,请核对后再次输入")

'''

这是一个较为综合的练习,将之前介绍的基础知识for循环,if判断,while循环等与列表部分的知识进行了融合,希望大家多多练习。

思路

#获取商品列表,也可以使用列表索引的方式实现

for item in List_of_commodities:

print(List_of_commodities.index(item),item)

将输入的购物金额强制转换为整数

#判断用户输入的范围在商品列表内且是整数

#判断是否买的起

#将已购商品加入购物列表,即购物车,同时计算余额

isdigit()方法检查字符串是否只包含数字(全由数字组成)。

语法

以下是isdigit()方法的语法:

?

1

str.isdigit()

参数

NA

返回值

如果字符串中的所有字符都是数字,并至少有一个字符此方法返回true,否则返回false。

enumerate函数说明:

函数原型:enumerate(sequence, [start=0])

功能:将可循环序列sequence以start开始分别列出序列数据和数据下标

即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标

举例说明:

存在一个sequence,对其使用enumerate将会得到如下结果:

start sequence[0]

start+1  sequence[1]

start+2 sequence[2]......

'''

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 Python 字典实现简单购物车的示例代码: ```python # 商品列表,每个商品包括名称和价格 goods = { 'apple': 3, 'banana': 2, 'orange': 4, 'watermelon': 5, 'pear': 3.5 } # 购物车,每个商品名称对应数量 cart = {} while True: # 打印商品列表和购物车 print('商品列表:') for name, price in goods.items(): print(f'{name}: {price}') print('当前购物车:') for name, count in cart.items(): print(f'{name}: {count}') # 获取用户输入 cmd = input('请输入操作指令(结账/添加/删除):') if cmd == '结账': # 计算总价并输出 total_price = sum(goods[name] * count for name, count in cart.items()) print(f'您需要支付 {total_price} 元') break elif cmd == '添加': # 获取要添加的商品名称和数量 name = input('请输入要添加的商品名称:') count = int(input('请输入要添加的商品数量:')) # 更新购物车 if name in cart: cart[name] += count else: cart[name] = count elif cmd == '删除': # 获取要删除的商品名称和数量 name = input('请输入要删除的商品名称:') count = int(input('请输入要删除的商品数量:')) # 更新购物车 if name in cart: cart[name] -= count if cart[name] <= 0: del cart[name] else: print('购物车中没有该商品') else: print('无效的操作指令') ``` 运行以上代码,程序会进入一个循环,每次循环打印商品列表和购物车,并等待用户输入操作指令。用户可以输入“结账”结束购物并计算总价,输入“添加”添加商品到购物车,输入“删除”从购物车中删除商品。程序会根据用户输入更新购物车,并不断循环直到用户输入“结账”为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值