python作业二:购物车小程序

#coding=utf-8

#Author:XIAOJU
'''
程序:购物车程序

需求:

启动程序后,让用户输入工资,然后打印商品列表
允许用户根据商品编号购买商品
用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
可随时退出,退出时,打印已购买商品和余额
'''

import json

class Shopping:
   def product_list(self):

       productlist=[('伊利酸奶',7),('TF口红',256),('日本老虎吸管杯',550),('娇韵诗双萃精华',650),('奥利奥饼干',15),('儿童平衡车',1500)]

       for index,x in enumerate(productlist):
            print  index,json.dumps(x,encoding='utf-8',ensure_ascii=False)
            return productlist



    def shooping(self):

          freebalance=raw_input('请输入账户余额:\n')

          shopping_list=[]

          if freebalance.isdigit():               #判断输入的账户余额是否为数字

               freebalance=int(freebalance)
               product_list=Shopping().product_list()

               while True:

                 goodsNum=raw_input('请输入商品编号:\n')
                 #判断输入的商品编号是否为数字
                 if goodsNum.isdigit():  # isdigit() 方法检测字符串是否只由数字组成,是数字,返回True,否则返回False
                    goodsNum=int(goodsNum)

                    #判断商编编号是否超出范围
                    if goodsNum <len(product_list) and goodsNum>=0:
                       subproduct=product_list[goodsNum]

                       #判断账户余额
                       if subproduct[1]<=freebalance:
                          shopping_list.append(subproduct)
                          freebalance=freebalance-subproduct[1]
                       else:
                          print '账户余额不足,账户余额为:%s'%freebalance



                    else:
                          print '商品编号对应的商品不存在'


                 elif goodsNum=='q' or goodsNum=='Q':

                       print '---------购物清单----------'
                       for i in shopping_list:
                          print json.dumps(i,encoding='utf-8',ensure_ascii=False)
                       print '可用余额为:%s'%freebalance
                       break

                 else:
                     print '无效的商品编号'
      else:
            print '无效的账户余额,请输入数字'

if __name__=='__main__':
    Shopping().shooping()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值