Python 实践--购物车功能简单实现

实验环境:

  operating system: Centos 6.3

  Python version:Python 2.6.6

知识点:

  Python 基本数据类型的常用操作

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# __author__ = "ht"

#手机信息存放在字典中{'手机品牌':{'手机型号':['单价','数量']}}
MobilPhone = {'Ipone':{'ipone5':[1200,10],'ipone5s':[1500,15],'ipone6':[3000,20],'ipone6s':[5000,30]},
             'HuaWei':{'HuaWeiP6':[1000,20],'HuaWeiP7':[1200,25],'HuaWeiP8':[1800,28],'HuaWeiP9':[2900,50]},
             'MI':{'MI1':[600,20],'MI1s':[800,25],'MI2':[1000,30],'MI2s':[1200,50]},
             }

#用户信息存放字典{'用户ID':['用户名','账号余额']}
UserInfo = {'001':['ht001',8000],'002':['ht002',10000],}

#用户登录校验
UserName = raw_input("Please Input your username:")
UserId = ""
flag = 1
while flag :
    for uid,user in UserInfo.items() :
        if UserName == user[0] :
            UserId = uid
    if  UserInfo.has_key(UserId) :
        print "login success"
        flag = 0
    else :
        UserName = raw_input(UserName +" " + "not exists ,Please Input your username again:")

#输出手机品牌信息,供用户选择
print "手机品牌:"
for kind in MobilPhone.keys() :
    print kind


ChoseBrand = raw_input("Please chose brands you want")
while True :
    if MobilPhone.has_key(ChoseBrand) :         #判断用户输入的品牌信息是否存在
        for model,value in MobilPhone.get(ChoseBrand).items() :  #存在输出品牌下面的型号、单价、数量信息供用户选择
            print "手机型号:%s,手机单价:%s元/台,剩余数量:%s台"%(model,value[0],value[1])

        ChoseModel = raw_input("Please chose model you want")
        if  MobilPhone.get(ChoseBrand).has_key(ChoseModel) :   #确认用户输入手机型号是否存在
            BuyNum = int(raw_input("Please input the number you want to buy"))#用户输入购买数量
            ExistNum = int(MobilPhone.get(ChoseBrand).get(ChoseModel)[1]) - BuyNum #确认剩余数量能满足需求
            if (ExistNum <= 0) :
                print "sorry not enough  chose again"
            else :
                PayMoney = int(MobilPhone.get(ChoseBrand).get(ChoseModel)[0]) * BuyNum  #计算需要话费的钱
                ConfirmPayMoney = raw_input('you need pay {money} RMB,please confirm(Y/N)'.format(money=PayMoney))
                if (ConfirmPayMoney == 'Y'):
                    ExistMoney = int(UserInfo.get(UserId)[1]) - PayMoney  #确认用户账户余额能满足购买需求
                    if ExistMoney >= 0 :
                        print "Pay success, Surplus %d RMB"%(ExistMoney)
                        break
                    else :
                        print "your count is not enough money,Please Recharge"
                elif (ConfirmPayMoney == 'N') :
                    print "Sorry, you quit"
                    break
                else :
                    print "Input error,Chose again"
        else :
            print "The model you chosed is not exist"
    else :
        ChoseBrand = raw_input("The brands you chosed is not exist,Please chose again")

  

posted @ 2016-04-27 16:53  huang_tao  阅读(134)  评论(0)    收藏  举报