购物车程序
Posted 宋讼颂
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了购物车程序相关的知识,希望对你有一定的参考价值。
需求:
1.程序开始,让用户输入自己的工资,然后打印商品列表
2.允许用户根据编号购买商品,用户选择商品后判断余额是否足够,够就购买并扣款,不够就提醒
3.可随时退出,退出时打印已购买的商品和账户余额。
低配版:
# Author: SS
print(‘欢迎来到该购物系统!‘)
balance = int(input(‘请输入您的账户余额:‘))
select_1 = ‘y‘
select_2 = ‘n‘
commodity1 = [1,‘Iphone‘,4999]
commodity2 = [2,‘Bick‘,1000]
commodity3 = [3,‘GirlFriend‘,9999]
commodity4 = [4,‘Milk‘,35]
commodity5 = [5,‘Notebook‘,6999]
commodity6 = [6,‘Mouse‘,299]
commodity7 = [7,‘Keyboard‘,399]
print(commodity1,‘\n‘,
commodity2,‘\n‘,
commodity3,‘\n‘,
commodity4,‘\n‘,
commodity5,‘\n‘,
commodity6,‘\n‘,
commodity7)
gou_Wu_Che = []
while True:
number_order = int(input("请输入你要买的商品编号:"))
if number_order == int(commodity1[0]):
if balance > int(commodity1[2]):
balance = balance - int(commodity1[2])
print (‘购买成功!‘)
gou_Wu_Che.append(commodity1[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance,‘,您购买的商品为:‘,gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
############################################################################
elif number_order == int(commodity2[0]):
if balance > int(commodity2[2]):
balance = balance - int(commodity2[2])
print (‘购买成功!‘)
gou_Wu_Che.append(commodity2[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
############################################################################
elif number_order == int(commodity3[0]):
if balance > int(commodity3[2]):
balance = balance - int(commodity3[2])
print(‘购买成功!‘)
gou_Wu_Che.append(commodity3[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
############################################################################
elif number_order == int(commodity4[0]):
if balance > int(commodity4[2]):
balance = balance - int(commodity4[2])
print(‘购买成功!‘)
gou_Wu_Che.append(commodity4[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
############################################################################
elif number_order == int(commodity5[0]):
if balance > int(commodity5[2]):
balance = balance - int(commodity5[2])
print(‘购买成功!‘)
gou_Wu_Che.append(commodity5[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
############################################################################
elif number_order == int(commodity6[0]):
if balance > int(commodity6[2]):
balance = balance - int(commodity6[2])
print(‘购买成功!‘)
gou_Wu_Che.append(commodity6[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
############################################################################
elif number_order == int(commodity7[0]):
if balance > int(commodity7[2]):
balance = balance - int(commodity7[2])
print(‘购买成功!‘)
gou_Wu_Che.append(commodity7[1])
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
else:
print(‘余额不足‘)
y_n = input(‘是否退出? 请输入Y/N‘)
if y_n == select_1:
print(‘谢谢使用,再见‘)
print(‘你的账户余额为:‘, balance, ‘,您购买的商品为:‘, gou_Wu_Che)
exit()
elif y_n == select_2:
print(‘欢迎继续使用!‘)
****************************因为没有根据下标匹配,所以有太多的重复代码,差评,并且随时推出也不应该是每步操作都有提醒****************************************
正式版:
# Author: SS
gou_wu_che = [
(‘鼠标‘,199),
(‘手表‘,309),
(‘手机‘,1099),
(‘电脑‘,4999),
(‘风衣‘,399)
]
store = []
salary = input(‘请输入您的工资:‘)
if salary.isdigit(): #判断输入的是否是数字
salary = int(salary)
while True:
for aaa in gou_wu_che:
print(gou_wu_che.index(aaa),aaa)
# for index,aaa in enumerate(gou_wu_che):
# print(index,aaa)
user_choice = input(‘你要买啥?>>>‘)
if user_choice.isdigit():
user_choice = int(user_choice)
if user_choice < len(gou_wu_che) and user_choice > -1:
product = gou_wu_che[user_choice] #得到和输入的数字与之对应的下标的产品
if salary >= product[1]: #买得起
salary = salary - product[1]
store.append(product[0])
print(‘购买成功‘)
else: #买不起
print(‘不好意思,余额不足!!!‘)
else:
print(‘商品不存在!!!‘)
print(‘您购买的商品有:%s,您的账户余额为:%s‘ % (store, salary))
exit()
elif user_choice == ‘q‘: #退出
print(‘谢谢惠顾,您购买的商品有:%s,您的账户余额为:%s‘%(store,salary)) #格式化输出
exit()
else:
print(‘输入有误!!!‘)
print(‘您购买的商品有:%s,您的账户余额为:%s‘ % (store, salary))
以上是关于购物车程序的主要内容,如果未能解决你的问题,请参考以下文章