python 一个购物车的例子

 1 #!/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 '''购物车'''
4
5 goods = [
6
7 {"name": "电脑", "price": 1999},
8
9 {"name": "鼠标", "price": 10},
10
11 {"name": "游艇", "price": 20},
12
13 {"name": "美女", "price": 998},
14
15 ]
16 cart_dict={}
17
18 black=int(input('请输入余额:'))
19
20 for i in goods:
21 print (i['name'],i['price'])
22 while True:
23 i2=input("选购商品结算请输入y:")
24 if i2.lower() == 'y':
25 break
26 for item in goods:
27 if item["name"] == i2:
28 name = item['name']
29 if name in cart_dict.keys():
30 cart_dict[name]['num'] += 1
31 else:
32 cart_dict[name]={'num':1,'single_price':item['price']}
33 print(cart_dict)
34 all_price=0
35 for k,v in cart_dict.items():
36 n = v['single_price']
37 m = v['num']
38 sum = n*m
39 all_price=all_price+sum
40 print (sum)
41 if all_price > black:
42 print('穷逼')
43 else:
44 print('有米')

附带:一些常用的字符处理方法

new_li=i.strip()                #去除前面和后面的空格。 
new_list=new_li.capitalize() #把第一个字母变成大写。
len(new_list)                  #取索引长度
li.extend(list_name) :         #extend 把2个列表的值组合成一个列表。
li.insert(1,"x")         #望指定的位置添加东西
l1.reverse()                     #字符位置反转。

for k,i in dic.items():        #items 字典循环 取出KEY和value.
for k,i in enumerate(list): #enumerrate 循环打印出索引和值。
s1.strip() #去除头和尾的空格。
s1.startswith("b") #判断以b开头为True ,否者尾False
s1.find("b") #找出b所在的索引位置
s1.replace("新值","旧值") #把新值替换掉旧值和sed有点像。
s1.upper() #全部变大写
s1.values() #字典用法,只取出值。
a,b,c=input('输入:').strip().split()     #可以获取多个输入的值,用空格隔开,  以split里面的值作为分隔符。

c="1","2","3".split()                #把三个字符串集合成一个元组。
s1.isalpha()                    #如果值区别是字母则返回True,包含了数字或者其他字符则返回False.
t = (11,22,["alex",{'k1':'v1'}]) &&  t[2][1]["k2"]="v2"    #给字典添加一个值。
li = ["hellow","world"] l1="_".join(li) #结果 hellow_world 把值用对应的符号连接起来。
05-08 08:37