一个商品练习的py

 
  
#!/usr/bin/env python

# coding=utf-8

# by 星空刺

qian = int(raw_input("请输入当前money:"))

gongzi = int(raw_input("请输入当前工资:"))

d1 = {}

d2 = {}

d3 = {}

d1 = {'自行车':100,'汽车':1000,'电脑':500}

for k,v in d1.items():

    print "%s:%s" %(k,v)

    if v <= qian:

        d2.update({k:v})

    else:

        d3.update({k:v})

print "你所不能购买的商品如下:"

for k,v in d3.items():

    print "%s:%s" %(k,v)

print "以下是你能购买的商品:"

for k,v in d2.items():

    print "%s:%s" %(k,v) 

while 1:

    name = raw_input("请输入要购买的商品名字:")

    name_jiage = d1.get(name)

    if d2.has_key(name) and qian >= name_jiage:

        qian = qian - name_jiage

        print "已经购买%s:%s,当前余额%d" %(name,name_jiage,qian) 

    else:

        chazhi = name_jiage - qian

        n = ( chazhi ) / gongzi

        if ( name_jiage - qian ) % gongzi > 0:

            n = n + 1

        print "你的钱不够,还差%d元,你需要赚取%d次工资才能购买" %(chazhi,n)

        break

 

一个商品练习的py

 

好吧,依然没有用list...虽然它却是是list练习

shell版本:http://www.cnblogs.com/aaa103439/p/3774369.html


 

添加批量购买,购物车,返回操作.

#!/usr/bin/env python

# coding=utf-8

# by 星空刺

# 2014.06.09

import sys

qian = int(raw_input("请输入当前money:"))

gongzi = int(raw_input("请输入当前工资:"))

#商品菜单

d1 = {}

#可购买商品

d2 = {}

#不可购买商品

d3 = {}

#已购买商品

d4 = {}

#商品菜单

d1 = {'自行车':100,'汽车':1000,'电脑':500}

#构建可购买商品字典和不可购买商品字典

for k,v in d1.items():

    print "%s:%s" %(k,v)

    if v <= qian:

        d2.update({k:v})

    else:

        d3.update({k:v})

print "你所不能购买的商品如下:"

for k,v in d3.items():

    print "%s:%s" %(k,v)

print "以下是你能购买的商品:"

for k,v in d2.items():

    print "%s:%s" %(k,v) 

#商品购买循环

while 1:

    name = raw_input("请输入要购买的商品名字:")

    name_num = int(raw_input("请输入购买次数:"))

#获取购买商品的价格

    name_jiage = d1.get(name)

    name_zongjia = name_jiage * name_num

#判定商品是否存在以及钱是否够,并计算余额

    if d1.has_key(name) and qian >= name_jiage:

        qian = qian - name_zongjia

#若钱不够,则计算差额,并继续所需工资的倍数,若倍数是小数,则+1

    else:

        chazhi = name_zongjia - qian

        n = ( chazhi ) / gongzi

        if chazhi % gongzi > 0:

            n = n + 1

        print "你的钱不够,还差%d元,你需要赚取%d次工资才能购买" %(chazhi,n)

        qian = -chazhi

#若购买的商品已在商品篮,则将其对应商品总价相加

    if d4.has_key(name):

        d4[name] = name_zongjia + d4.get(name)

#若购买商品不存在,则将其加入字典d4

    else:

        d4.update({name:name_zongjia})

    print "已添加%d件%s:%s,当前余额%d" %(name_num,name,name_jiage,qian) 

    print "当前购物车有如下商品:"

    for k,v in d4.items():

        print "%s:%s" %(k,v)

    ans = raw_input("是否购买其他商品,是y,不是n:")

    if ans == "y":

        continue

    else:

        break

print ("以下是你购买车内的商品:")

for k,v in d4.items():

    print "%s:%s" %(k,v)

ans = raw_input("是否确认购买y,或者删除某件商品d,或者取消购买n:")

if ans == "y":

    print "你的当前余额为%d" %qian

elif ans == "d":

#开始删除循环

    while 1:

        name_tui = raw_input("输入删除的商品名:")

        name_tui_num = int(raw_input("输入删除的商品件数:"))

#计算对应商品的总退价

        name_tui_jiage = d1.get(name_tui) * name_tui_num

#如果商品存在,则回款

        if d4.has_key(name_tui):

            qian = qian + name_tui_jiage

    #如果商品存在,且要清空对应商品,则删除字典d4的对应商品

            if d4.get(name_tui) == name_tui_jiage:

                d4.pop(name_tui)

    #否则降低字典d4内对应商品的总价值

            else:

                d4[name_tui] = d4.get(name_tui) - name_tui_jiage

        print "当前余额为%d,商品篮如下:" %qian

        for k,v in d4.items():

            print "%s:%s" %(k,v)

        ans1 = raw_input("是否继续删除y,或者保留剩余商品并购买n:")

        if ans1 == "y":

            continue 

        else:

            break

elif ans == "n":

    for v in d4.values():

        qian = qian + v

    print "已经清空商品篮,你的当前余额是%d:" %qian

 

你可能感兴趣的:(一个商品练习的py)