您的位置:首页 > 编程语言 > Python开发

python练习题:实现购物车功能

2017-04-24 12:23 627 查看
功能要求:

要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车


#!/usr/bin/env python
# -*- coding:utf-8 -*-

shopping_list = [
("Iphone", 5000),
("Delicious food", 48),
("Mac book", 9800),
("Huawei", 4800),
("Alex python", 32),
("coffee", 24)
]
shopping_cart = []
salary = raw_input('please input salary: ')
if not salary.isdigit():
print "salary must be digit,run again"
exit()
else:
salary = int(salary)

while True:
print "------products list is--------"
for index, item in enumerate(shopping_list):
print "\033[32m%s, %s\033[0m" %(index, item)
choice = raw_input('please input choice[q(uit)]>>> ')
if choice.isdigit():
choice = int(choice)
if choice < len(shopping_list) and choice >= 0:
product = shopping_list[choice]
if salary > product[1]:
confirm = raw_input('do you want to buy now[y/n]: ')
if confirm == 'y':
shopping_cart.append(product)
salary -= product[1]
print "you bought %s,price is %d, your balance is %d" % (product[0], product[1], salary)
else:
print 'select again'
else:
add_confirm = raw_input("your balance is: %d, not enough, do you want to add more?[y/n]" % salary)
if add_confirm == 'y':
add_salary = raw_input('add the money: ')
if add_salary.isdigit():
add_salary = int(add_salary)
salary += add_salary
print "now balance is %d: " % salary
else:
print "the money must be digit."
else:
print "------shopping cart list---------: "
for index, item in enumerate(shopping_cart):
print index, item
else:
print "choice must be 0~5."
elif choice == 'q':
remove_product = raw_input("do you want remove product or exits now [y/n] ")
if remove_product == "y":
print "-----------your shopping cart lists-------------: "
for index, item in enumerate(shopping_cart):
print index, item
remove_choice = raw_input('please input your remove choice>>> ')
if remove_choice.isdigit() and int(remove_choice) < len(shopping_cart) and int(remove_choice) >= 0:
salary += shopping_cart[int(remove_choice)][1]
del shopping_cart[int(remove_choice)]
print "-----------new shopping cart lists-------------: "
for index, item in enumerate(shopping_cart):
print index, item
print "your balance is %d" % salary
else:
print "input error, again"
else:
print "exit now"
exit()

else:
print "-----------shopping cart lists-------------: "
for index, item in enumerate(shopping_cart):
print index, item
print "\033[31mchoice must be digit,exit\033[0m"


功能挺简单,就是涉及到列表的增加和删除,还有一些逻辑的判断处理。

运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 列表 购物车