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

来源:互联网 发布:python svm两分类实现 编辑:程序博客网 时间:2024/06/06 03:24

功能要求:

要求用户输入总资产,例如: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"

功能挺简单,就是涉及到列表的增加和删除,还有一些逻辑的判断处理。
运行结果如下:
这里写图片描述

0 0
原创粉丝点击