python基础:购物车的简单实现

最近找了些例子,发现一个简单的购物车可以做个小练习,代码较为粗糙。。。毕竟新手。。望见谅

该购物车主要实现:

# 1.用户要输入自己目前拥有的钱
# 2.开始进入购物,这个购物过程就是一个循环,且用户是随时退出的,且结算已购买的
# 3.用户购买,发生实时的扣款
# 4.结算退出

代码如下:

#主程序
def Main():
is_money = False
car = []
money = int(input('请输入你的财产:'))
if money < 0:
print('不好意思,您已经欠债,无法进行购物')
is_money = False
else:
is_money = True
Money = money
tat = [Money,car]
if is_money:
Shopping(tat)







#商品的显示界面
def Shopping(tat):
print('你的账户余额为:' + str(tat[0]))
list = ['电子商品','衣服','家用工具']
count = 1
for val in list:
print(str(count)+'-'+val)
count = count + 1
number = input('请根据编号进入商品列表(除了编号外按任意键退出!):')
if number == '1':
Electronics(tat)
elif number == '2':
Clothes(tat)
elif number == '3':
Tools(tat)
else:
print('你还剩余:'+ str(tat[0]))
print('您购买了:'+ str(tat[1]))
print('您已退出商城!')




#电子商品列表
def Electronics(tat):
Elc = {'1-MP5':450,'2-组合音箱':230,'3-游戏机':1388,'4-智能手机':599, '5-录像机':50}
pname_elc = []
pr_elc = []
print('电子商品:')
for val,pri in Elc.items():
print(val + ':' + str(pri))
pname_elc.append(val)
pr_elc.append(pri)
print('你的账户余额为:' + str(tat[0]))
number = input('请输入编号购买,或者按q退出该列表:')
if number == 'q':
Shopping(tat)
elif int(number) > len(pname_elc):
print('您输入了错误的商品列表!')
Electronics(tat)
else:
Money = Buy(tat,number,pname_elc,pr_elc)
Tools(tat)



#衣服列表
def Clothes(tat):
Elc = {'1-毛衣':78,'2-外套':288,'3-连身装':144,'4-裤衩':70, '5-长裤':123}
pname_elc = []
pr_elc = []
print('衣服商品:')
for val,pri in Elc.items():
print(val + ':' + str(pri))
pname_elc.append(val)
pr_elc.append(pri)
print('你的账户余额为:' + str(tat[0]))
number = input('请输入编号购买,或者按q退出该列表:')
if number == 'q':
Shopping(tat)
elif int(number) > len(pname_elc):
print('您输入了错误的商品列表!')
Electronics(tat)
else:
Money = Buy(tat,number,pname_elc,pr_elc)
Tools(tat)




#家用该工具列表
def Tools(tat):
Elc = {'1-五金工具':55,'2-刀片':15,'3-冲压件':96,'4-液压缸':100, '5-叉头':45}
pname_elc = []
pr_elc = []
print('衣服商品:')
for val,pri in Elc.items():
print(val + ':' + str(pri))
pname_elc.append(val)
pr_elc.append(pri)
print('你的账户余额为:' + str(tat[0]))
number = input('请输入编号购买,或者按q退出该列表:')
if number == 'q':
Shopping(tat)
elif int(number) > len(pname_elc):
print('您输入了错误的商品列表!')
Electronics(tat)
else:
Money = Buy(tat,number,pname_elc,pr_elc)
Tools(tat)



#判断商品的购买
def Buy(tat,number,pName,pPri):
number = int(number)-1
is_pr = input('您确定要购买'+pName[number] +'这件商品吗?(Y/N)')
if is_pr == 'y':
if tat[0] >= pPri[number]:
print('恭喜您,购买成功!')
tat[0] = tat[0] - pPri[number]
tat[1].append(pName[number])
else:
print('不好意思,您的余额不足,无法购买!')
return tat



Main()


ps:矫正,在测试的时候发现用户未输入正确的编号将会发生错误,更正。。。

 













转载于:https://www.cnblogs.com/ifdashui/p/10591130.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值