一个商品练习的py
#!/usr/bin/env python
# coding=utf-8
# by 星空刺
qian = int(raw_input("请输入当前money:"))
gongzi = int(raw_input("请输入当前工资:"))
d1 = {}
d2 = {}
d3 = {}
d1 = {'自行车':100,'汽车':1000,'电脑':500}
for k,v in d1.items():
print "%s:%s" %(k,v)
if v <= qian:
d2.update({k:v})
else:
d3.update({k:v})
print "你所不能购买的商品如下:"
for k,v in d3.items():
print "%s:%s" %(k,v)
print "以下是你能购买的商品:"
for k,v in d2.items():
print "%s:%s" %(k,v)
while 1:
name = raw_input("请输入要购买的商品名字:")
name_jiage = d1.get(name)
if d2.has_key(name) and qian >= name_jiage:
qian = qian - name_jiage
print "已经购买%s:%s,当前余额%d" %(name,name_jiage,qian)
else:
chazhi = name_jiage - qian
n = ( chazhi ) / gongzi
if ( name_jiage - qian ) % gongzi > 0:
n = n + 1
print "你的钱不够,还差%d元,你需要赚取%d次工资才能购买" %(chazhi,n)
break
好吧,依然没有用list...虽然它却是是list练习
shell版本:http://www.cnblogs.com/aaa103439/p/3774369.html
添加批量购买,购物车,返回操作.
#!/usr/bin/env python
# coding=utf-8
# by 星空刺
# 2014.06.09
import sys
qian = int(raw_input("请输入当前money:"))
gongzi = int(raw_input("请输入当前工资:"))
#商品菜单
d1 = {}
#可购买商品
d2 = {}
#不可购买商品
d3 = {}
#已购买商品
d4 = {}
#商品菜单
d1 = {'自行车':100,'汽车':1000,'电脑':500}
#构建可购买商品字典和不可购买商品字典
for k,v in d1.items():
print "%s:%s" %(k,v)
if v <= qian:
d2.update({k:v})
else:
d3.update({k:v})
print "你所不能购买的商品如下:"
for k,v in d3.items():
print "%s:%s" %(k,v)
print "以下是你能购买的商品:"
for k,v in d2.items():
print "%s:%s" %(k,v)
#商品购买循环
while 1:
name = raw_input("请输入要购买的商品名字:")
name_num = int(raw_input("请输入购买次数:"))
#获取购买商品的价格
name_jiage = d1.get(name)
name_zongjia = name_jiage * name_num
#判定商品是否存在以及钱是否够,并计算余额
if d1.has_key(name) and qian >= name_jiage:
qian = qian - name_zongjia
#若钱不够,则计算差额,并继续所需工资的倍数,若倍数是小数,则+1
else:
chazhi = name_zongjia - qian
n = ( chazhi ) / gongzi
if chazhi % gongzi > 0:
n = n + 1
print "你的钱不够,还差%d元,你需要赚取%d次工资才能购买" %(chazhi,n)
qian = -chazhi
#若购买的商品已在商品篮,则将其对应商品总价相加
if d4.has_key(name):
d4[name] = name_zongjia + d4.get(name)
#若购买商品不存在,则将其加入字典d4
else:
d4.update({name:name_zongjia})
print "已添加%d件%s:%s,当前余额%d" %(name_num,name,name_jiage,qian)
print "当前购物车有如下商品:"
for k,v in d4.items():
print "%s:%s" %(k,v)
ans = raw_input("是否购买其他商品,是y,不是n:")
if ans == "y":
continue
else:
break
print ("以下是你购买车内的商品:")
for k,v in d4.items():
print "%s:%s" %(k,v)
ans = raw_input("是否确认购买y,或者删除某件商品d,或者取消购买n:")
if ans == "y":
print "你的当前余额为%d" %qian
elif ans == "d":
#开始删除循环
while 1:
name_tui = raw_input("输入删除的商品名:")
name_tui_num = int(raw_input("输入删除的商品件数:"))
#计算对应商品的总退价
name_tui_jiage = d1.get(name_tui) * name_tui_num
#如果商品存在,则回款
if d4.has_key(name_tui):
qian = qian + name_tui_jiage
#如果商品存在,且要清空对应商品,则删除字典d4的对应商品
if d4.get(name_tui) == name_tui_jiage:
d4.pop(name_tui)
#否则降低字典d4内对应商品的总价值
else:
d4[name_tui] = d4.get(name_tui) - name_tui_jiage
print "当前余额为%d,商品篮如下:" %qian
for k,v in d4.items():
print "%s:%s" %(k,v)
ans1 = raw_input("是否继续删除y,或者保留剩余商品并购买n:")
if ans1 == "y":
continue
else:
break
elif ans == "n":
for v in d4.values():
qian = qian + v
print "已经清空商品篮,你的当前余额是%d:" %qian
一个商品练习的py的更多相关文章
- 一个简单的web.py论坛
一.概述 forum是一个简单的web.py论坛,后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS. 该论坛的主要功能包 ...
- 第一个Python程序hello.py提示出现File "<stdin>",line 1错误
写第一个Python程序hello.py,内容仅有一句,print 'hello world', 运行 Python hello.py 出错,提示: File "<stdin>& ...
- 一个商品SKU是怎么生成的
首先说一说什么是SKU.......自己百度去... 类似京东上面,未来人类S5这个台笔记本(没错,我刚入手了) 都是S5这个型号,但是因为CPU,显卡,内存,硬盘等不同,价格也不一样.CPU,显卡, ...
- 零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)
一. 删除一个商品案例 将要操作的表格 思路图 前端代码 <%@ page language="java" contentType="text/html; cha ...
- 在Google Colab中导入一个本地模块或.py文件
模块与单个.py文件的区别,模块中含有__init__.py文件,其中函数调用使用的是相对路径,如果使用导入.py文件的方法在Google Colab中导入模块 会报错:Attempted relat ...
- docker部署一个简单的mian.py项目文件
安装docker yum install -y docker 启动docker systemctl start docker 查询可安装的Python版本,默认centos python 2.7 ...
- 第一个python程序hello.py
使用vim编辑代码: #!/usr/bin/python2.7 #-*-coding:utf-8-*- name = raw_input('请输入你的名字:') print 'Hello,',name ...
- 利用COOKIE保存历史浏览商品的一个简单思路
<?php //如是COOKIE 里面不为空,则往里面增加一个商品ID if (!empty($_COOKIE['SHOP']['history'])){ //取得COOKIE里面的值,并用逗号 ...
- python作业/练习/实战:3、实现商品管理的一个程序
作业要求 实现一个商品管理的一个程序,运行程序有三个选项,输入1添加商品:输入2删除商品:输入3 查看商品信息1.添加商品: 商品名称:xx 商品如果已经存在,提示商品已存在 商品价格:xx数量只能为 ...
随机推荐
- HTML&CSS基础学习笔记1.17-表格的头部与尾部
表格的头部和尾部 既然有标签表示表格的主体,那么自然表格的头部和尾部也有对应的标签. HTML中使用<thead>标签表示表格的头部,使用<tfoot>标签表示表格的尾部. 有 ...
- Lintcode--004(最小子串覆盖)
给定一个字符串source和一个目标字符串target,在字符串source中找到包括所有目标字符串字母的子串. 注意事项 如果在source中没有这样的子串,返回"",如果有多个 ...
- PYTHON线程知识再研习C---线程互斥锁
结合例子,就很好理解了. 就是不要让共享变量被各个线程无序执行,导致结果不可预期 threading模块中定义了Lock类,可以方便的处理锁定: #创建锁mutex = threading.Lock( ...
- 目测ZIP的压缩率
对word文件,能压到25% 对PDF文件,却只有90% 对压缩文件本身再压缩,几乎没有效果. 考虑到用户一般情况下只有正常的文档,取中位值66%是比较正常的情况,特别是在预估原文件大小的时候.
- 常用的Windows批处理
切换执行路径 如果不换盘的话:cd xxx换盘:cd /d xxx 获取当前日期 编写Windows批处理时经常会需要使用到日期和时间作为文件名,所以是非常重要的. 如何获取日期呢?格式: ...
- VS2010编译Qt程序失败------error LNK1123: 转换到 COFF 期间失败:
error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏使用VS2010编译VC++项目的时候可能会出这个问题. 据说升级到SP1后可能问题解决,但是下载量太大,目前没有得到证实. ...
- 转:ASP.Net MVC:校验、AJAX与过滤器
原文地址:http://blog.jobbole.com/85005/ 一.校验 — 表单不是你想提想提就能提 1.1 DataAnnotations(数据注解) 位于 System.Componen ...
- SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)
SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有 ...
- Enum Types
参考Java的官方tutorial和Doc整理如下. What is Enum An enum type is a special data type. It enables for a variab ...
- PHP常用魔术方法(__toString魔术方法)
<?php //文件名:index.php define('a',__DIR__); include '/IMooc/Loader.php'; spl_autoload_register('\\ ...