python实现简单购物筛选

本文介绍了一个用Python 2.7实现的购物模拟程序,该程序允许用户输入拥有的金额,并根据金额显示可购买的商品列表。用户可以选择购买商品,程序会记录已购商品并更新剩余金额直至无法再购买。

要求:

    1,让用户输入有多少钱:

    2,输出用户能够买的东西

    3,把用户买的东西放在列表里

    4,计算用户还有多少钱,直到不能购买任何商品为止,

    5,用户只要选择商品,不能退换


Python 2.7版本

代码实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# -*- coding: utf-8 -*-
 
products  =  [ "book" , "plane" , "phone" , "fan" , "hen" , "bed" , "car" ]
price     =  [ 65 100000 , 10000 , 70 , 25 , 1250 , 1000000 ]
shop_list =  []
 
 
salary  =  int ( raw_input ( "please input your money:" ))
 
while  1 :
     print  u '请从以下商品中挑选一个或者几个购买:'
     for  in  range ( 0 , len (products)):
         if  (salary> = price[i]):
             print  products[i],price[i]
     print  "+---------------------------------+"
     choice   =  raw_input ( "please choice a shop to buy:" )
     F_choice  =  choice.strip() #去除空格,格式化输出。
     
     if  F_choice  in  products:
         product_price  =  price[products.index(F_choice)]  #取出产品价格
         print  "+---------------------------------+"
         print  u "你要购买的商品以及价格:" ,F_choice,product_price
         print  u "商品正在加入购物列表,请稍等"
         if  salary > product_price:
             shop_list.append(F_choice)
             salary  =  salary  -  product_price
             print  "+---------------------------------+"
             print  u "%s已经添加到你的购物列表"  %  F_choice
             print  u "你的余额还有:" , salary
             print  u "你已经购买的商品有:" , shop_list
             print  "+---------------------------------+"
         else :
             pass
     else :
         print  u "你输入的商品不在商品列表里,请重新输入!"

如果商品在文件里,可以用下面的代码进行处理成一个列表:

1
2
3
4
5
6
7
8
9
10
11
12
13
#-*-coding:utf-8 -*-
products = []
prices = []
 
=  file ( "jiage.txt" )
for  line  in  f.readlines():
         new_line  =  line.split()
         products.append(new_line[ 0 ])
         prices.append( int (new_line[ 1 ]))
 
 
print  products
print  prices

执行结果

wKioL1lrdw2yfficAAAQB_waWWA718.png


最终筛选的执行结果:

wKioL1lrStqgN1oIAAEyivhvVNk834.png-wh_50


总结:

1
product_price  =  price[products.index(F_choice)]  #取出产品价格

这行代码python2.7和Python2.6貌似不大一样。

另外一种写法是:

1
product_price  =  price[products.index[F_choice]]  #取出产品价格

但是会报下面的错误,下面的是我粘贴过来的:只要改成()的写法就行了。

TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'


wKiom1lrSvXAkbkGAAQF1aT1ixQ204.png



本文转自 天道酬勤VIP 51CTO博客,原文链接:http://blog.51cto.com/tdcqvip/1948031

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值