Python 练习 - 购物车

功能说明:

1.用户输入总资产例如:2000

2. 显示商品列表,让用户根据序号选择商品,加入购物车

3.购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

使用说明:

1.输入账户金额,验证输入的是合法数字。

2.输入商编号,或者输入q退出。

3.可以输入多次商品。

4.输入q,将计算出账户金额,是否可以购买选择的商品,如果购买计算出总共花了多少钱,如果不够显示还差多少钱并退出

代码:

#!/usr/bin/Python
# -*- coding:utf-8 -*-
#商品列表
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
#输入总资产,
while True:
zhanghu = input("请输入总资产")#输入金额
if zhanghu.isdigit() == True and int(zhanghu) > 0:#判断输入的内容必须是数字以及大于0
break
else:
print("请输入正确金额!")
print("-----------------------------")
num = 0#声明z变量
for i in goods:#遍历输出所以商品带编号
print("编号%d:"%num,i["name"],i["price"])
num+=1
shops = {}#证明字典用于存放购买的商品
shop_item = 0
while True:#循环器
shop_num = input("请输入商编号,或者输入q退出")#1.输入编号或输入q退出结账
if shop_num.lower() == "quit":#2.判断输入的内容如果输入是q(不管是大写或者小写)break退出while循环
break#
if shop_num.isdigit() == True:# 3.如果输入的是数字判断是否小于goods列表的长度
c = int(shop_num)
if c < len(goods):#如果小于goods字典的长度有效
k = goods[c]["name"]#将输入的下标转换成商品名称
if k in shops.keys():#如果此商品在shops字典的keys中存在,num增加一个
shops[goods[c]["name"]]['num']+=1#
else:#如果item["name"]不存在shop集合中,创建一个集合,ite["price"]是金额
shops[k] = {"num":1,"money":goods[c]["price"]}
else:
print("请输入合法编号")
else:
print("请输入合法编号")
total_money = 0#总金额
for k,v in shops.items():#遍历shops字典
total_money += (v["money"] * v["num"])#总金额=(金额*数量)+总金额
if total_money <= int(zhanghu):#如果总金额小于等于账户金额
print("购物成功共消费:%s元"% total_money)
print("购物清单%s"%shops)
else:
y = total_money - int(zhanghu)
print("余额不足还差:%s元"%y)

 

转载于:https://www.cnblogs.com/hanjialong/p/6802505.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值