主程序,     

#!/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. CSS3 3D Transform

    CSS3 3D Transform 原文:http://www.w3cplus.com/css3/css3-3d-transform.html 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换, ...

  2. AngularJS 初识笔记

    test.html: <!DOCTYPE html> <html lang="en" ng-app> <head> <meta chars ...

  3. 【SIGGRAPH 2015】【巫师3 狂猎 The Witcher 3: Wild Hunt 】顶级的开放世界游戏的实现技术。

    [SIGGRAPH 2015][巫师3 狂猎 The Witcher 3: Wild Hunt ]顶级的开放世界游戏的实现技术 作者:西川善司 日文链接  http://www.4gamer.net/ ...

  4. 浏览器User-agent String里的历史故事

    你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样? Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...

  5. 【IOS笔记】Windows

    Windows Every iOS application needs at least one window—an instance of the UIWindow class—and some m ...

  6. PHP学习(三)----面向对象

    首先,还是建立一个好的理解模型: 1.什么是面向对象? 面向对象分为两个部分,那就是:什么是对象和什么是面向? 什么是对象: 对象的出现就是为了用代码更好的绘制我们现有的世界.那到底什么是对象呢? 一 ...

  7. 11号了,还有三天上线-改bug

    +(NSDictionary *)replacedKeyFromPropertyName { return  @{ @"doctorId": @"id" }; ...

  8. Listener-监听器+ServletContext+ApplicationContext

    参考资料 ServletContext和ApplicationContext有什么区别 ServletContext:是web容器的东西, 一个webapp一个, 比session作用范围要大, 从中 ...

  9. 【转】CodeIgniter定义自己的Helper和Helper的方法

    最近做程序,采用了PHP+CodeIgniter框架,总体来说这框架很轻而且上手也很快的. 首先,说下如何定义自己的Helper,个人理解helper其实就是定义函数方法. 如果要建个全新的自己的He ...

  10. 【运维工具】logrotate 日志管理神器

    服务器经常会产生各种各样的日志文件,我们需要定期清理 日志的分类 系统日志 应用日志 系统日志 例如系统的history 历史信息   crontab的运行日志  一般系统日志系统都帮我们运维好了,不 ...