python杂记-购买商品

原创 2016-11-01 15:05:59 519
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-#如下是一个购物程序:#先输入工资,显示商品列表,购买,quit退出,最后格式化输出所买的商品。count = 0while True:     #做一个循环判断,如果输入的不是数字,基于提示,三次后退出    salary = input("input you

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

#如下是一个购物程序:
#先输入工资,显示商品列表,购买,quit退出,最后格式化输出所买的商品。
count = 0
while True:     #做一个循环判断,如果输入的不是数字,基于提示,三次后退出
   salary = input("input your salary:") #输入你的工资
   if salary.isdigit():  #输入的工资必须是数字才能往下走
       salary=int(salary)  #转换为整数型
       break
   else:
       print("Please input a number:")
       count += 1
       if count == 3:
           exit()

goods_list = [["Iphone",5800],["Macbook",12800],["iMac",15000],["ApplePen",500],["IPod",1200]]  #商品列表
shop_list = []  #购买的商品列表
msg = " Product List "
print(msg.center(30,"*"))
for i,ele in enumerate(goods_list): #遍历序列中的元素以及它们的下标
   print(i,".",ele[0],ele[1])
while True:
   choice = input("Which do you want(quit type \"quit\")>>>")
   if choice.isdigit():   #判断选择的是否是数字
       choice = int(choice)   #转换为整数型
       if choice <= len(goods_list)-1:  #选择的数字必须小于列表长度-1,因为下标从0开始
           if salary >= int(goods_list[choice][1]):  #判断工资是否够
               shop_list.append(goods_list[choice])  #够的话,把商品加入到shopList
               salary -= goods_list[choice][1]  #减去工资
               print("You just buy a %s now you have %s RMB" % (goods_list[choice][0],salary))
           else:
               print("Not enough money")
       else:
           print("There is no such things")
   elif choice == "quit":
       print("Here is what you buy:")  #这里的思路是,创建一个字典,把所买的商品格式化输出
       total = 0
       shop_dict={}
       for item in shop_list:
           things = item[0]
           money = item[1]
           total += int(money)
           if things in shop_dict:
               shop_dict[things][0] += 1
               shop_dict[things][1] += money
           else:
               shop_dict[things]=[1,money]
       for item in shop_dict.items():
           print("%s  %s个  共%s" % (item[0],item[1][0],item[1][1]))
       print("一共花了:",total)
       exit()
   else:
       print("Please input a number")
       continue

发布手记

热门词条