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:矫正,在测试的时候发现用户未输入正确的编号将会发生错误,更正。。。