主程序,     

#!/usr/bin/env python
#_*_ coding:utf- _*_
import pickle
import os
import sys
import time
import pickle
dirname = os.path.dirname(os.path.dirname(__file__))
sys.path.append(dirname) carshop = []
pricelist = [] shop = {
'car':,
'iphone':,
'apple':,
'orange':,
'banana':
} def caradd():
while True:
for index,key in enumerate(shop.keys()):
print index,'\t',key,'\t\t',shop[key]
num = int(raw_input('请选在购买的商品ID,添加到购物车: ')) if shop.keys()[num]:
carshop.append([shop.items()[num],time.strftime("%Y-%m-%d %X", time.localtime())])
print carshop
else:
print '请选择商品编号,或者您购买的商品不存在' name = raw_input('是否继续购物(y/n): ')
if name == 'y':
continue
else:
print '系统将返回到首页'
return True def showcar():
for index1,key in enumerate(carshop,):
pricelist.append(key[][])
print index1,key[][] def price_sum():
res1 = reduce(lambda x,y:x+y,pricelist)
return res1 while True:
print '''-------欢迎访问本商城------
进行购物
查看购物车
'''
choose = int(raw_input('请按照提示信息进行输入: '))
if choose == :
result = caradd()
if result == 'True':
break
elif choose == :
if carshop:
showcar()
price = price_sum()
print '您一共够买了',price
else:
print '你还没有购物,购物车为空' commitcar = raw_input('时候马上结算(y/n): ')
if commitcar == 'y':
username = int(raw_input('请输入信用卡账号: '))
passwd = int(raw_input('请输入信用卡密码: ')) with open('user_pass','r') as f:
data = pickle.load(f)
for k,v in data.items():
print k,v
if k == username and passwd == v[]:
print '将从信用卡中扣除商品金额'
salary = v[]
if price > salary:
print '信用卡额度不足,无法购买商品'
break
else:
salary_new = salary - price
print salary_new
v[] = salary_new
with open('user_pass','w') as f:
pickle.dump(data,f)
print '支付成功,系统退出'
sys.exit()
else:
print '----------------------->'
else:
continue
使用pickle生成user_pass文件

#!/usr/bin/env python
#_*_ coding:utf- _*_
import pickle dic_pick = {
:[,]
}
f = open('user_pass','w') pickle.dump(dic_pick,f)
f.close() ###############################
#!/usr/bin/env python
#_*_ coding:utf- _*_ import pickle f = open('user_pass','r')
data = pickle.load(f)
print data

网站购物,使用pickle的更多相关文章

  1. HTML+CSS Day11产品网站

    1.佰亿首页 效果图: 代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  2. 千万pv大型web系统架构,学习从点滴开始

     架构,刚开始的解释是我从知乎上看到的.什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像.更抽象一点,说架构其 ...

  3. 精通Web Analytics 2.0 (8) 第六章:使用定性数据解答”为什么“的谜团

    精通Web Analytics 2.0 : 用户中心科学与在线统计艺术 第六章:使用定性数据解答"为什么"的谜团 当我走进一家超市,我不希望员工会认出我或重新为我布置商店. 然而, ...

  4. Why MVC is Better?(翻译)

    (本文翻译自CodeProject上的一篇关于ASP.NET MVC的文章,原文地址:http://www.codeproject.com/Articles/821275/Webforms-vs-MV ...

  5. 使用JMeter进行简单的压力测试

    一.压力测试 顾名思义:压力测试,就是  被测试的系统,在一定的访问压力下,看程序运行是否稳定/服务器运行是否稳定(资源占用情况). 比如: 2000个用户同时到一个购物网站购物,这些用户打开页面的速 ...

  6. SQL 存储过程 解析XML

    第一种说明: 我看过这样一篇文章,如下 在SQL   Server2005中,微软延续了   2000中一个特性(即支持XML类型的数据),并加强了对XML   数据列.XML变量以及XML索引的支持 ...

  7. K-means算法及文本聚类实践

    K-Means是常用的聚类算法,与其他聚类算法相比,其时间复杂度低,聚类的效果也还不错,这里简单介绍一下k-means算法,下图是一个手写体数据集聚类的结果. 基本思想 k-means算法需要事先指定 ...

  8. MVC 与 webform比较

    来自:http://www.cnblogs.com/xiaozhi_5638/p/4019065.html ASP.NET Webforms Behind Code的好处和存在的问题 ASP.NET ...

  9. 2014年4月份第4周51Aspx源码发布详情

    精灵豆会员管理系统源码  2014-4-21 [VS2010]功能介绍:精灵豆会员管理系统业务管理平台采用微软选进的C#语言开发,采用大型数据库,具有比较高的执行效率和高安全性.系统分为消费管理,会员 ...

随机推荐

  1. 【iHMI43 4.3寸液晶模块】demo例程(版本1.02)发布

    ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...

  2. DS实验题 最大最小

    题目: 算法设计: 计算最小值算法: 设置一个flag,flag为1的时候代表遇到*号: 遇到数字时: flag为0进栈: flag为1的时候,从栈顶提出一个元素和当前元素运算,结果进栈 最后对栈进行 ...

  3. Guilty Gear Xrd 资源Rip(1)

    资源破解   首先先要下载GGXrd的PS3游戏,用psarc.exe先把游戏解包 http://files.cnblogs.com/TracePlus/psarc.exe.zip   下载UMode ...

  4. 解决电脑访问Discuz!手机版(支持触屏版)

    discuz电脑访问手机版的方法现在需要来修改一下2个文件,即可用电脑浏览discuz的手机版本:找到./source/function/function_core.php 文件,查找 : funct ...

  5. flex的Accordion组件头部文本居中显示

    flex的Accordion组件头部文本默认是居左的,可以通过设置headerStyleName属性使之居中,另外还可以设置字体的样式等 <?xml version="1.0" ...

  6. 20145317彭垚 《Java程序设计》第五次实验报告

    20145317彭垚实验五 Java网络编程及安全 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18:30-21: ...

  7. [转]通过Mesos、Docker和Go,使用300行代码创建一个分布式系统

    http://www.csdn.net/article/2015-07-31/2825348 [编者按]时下,对于大部分IT玩家来说,Docker和Mesos都是熟悉和陌生的:熟悉在于这两个词无疑已成 ...

  8. LR调用动态链接库DLL

    什么是动态库? 动态库一般又叫动态链接库(DLL),是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库. 动态链接提供了一种方法 ,使进程可以 ...

  9. egrep 查找IP

    1. egrep '([^0-9]|\<)(([0-1]?[0-9]{0,2}|([2]([0-4][0-9]|[5][0-5])))\.){3}([0-1]?[0-9]{0,2}|([2]([ ...

  10. Java单链表的实现

    将结点Node进行封装,假设Node的操作有增加,删除,查找,打印几个操作.将Node实现为链表Link的内部类,简化代码. package Chapter5; import java.securit ...