一个商品练习的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数量只能为 ...
随机推荐
- AES CBC 128的实现
原由 AES已经变成目前对称加密中最流行算法之一,AES可以使用128.192.和256位密钥,并且用128位分组加密和解密数据. 项目中需要使用AES对密码信息进行加密,由嵌入式设备使用C语言进行加 ...
- css 画竖着线条
<p>table控制:<!-- height为横线的粗度,width为长度 --><table width=700> <tr> <t ...
- 【转】sublime text 2 中文乱码解决办法
sublime text 2是一款非常优秀的跨平台文本及源代码编辑器,本人非常喜欢,但是不支持GB2312和GBK编码在某些时候比较麻烦.可以通过向sublime text 中添加编码类型转换包(比如 ...
- EE就业最好的方向是转CS,其次是VLSI/ASIC DESIGN & VERIFICATION
Warald在2012年写过一篇文章<EE现在最好就业的方向是VLSI/ASIC DESIGN VERIFICATION>,三年过去了,很多学电子工程的同学想知道现在形势如何. 首先,按照 ...
- Android SDK 下载速度慢解决方法
Mac 本搞Android开发,遇到Android SDK 下载速度慢,解决方法大概有两种.第一,FQ.这种方法比较彻底,但是要想有稳定的效果还的要花大价钱.第二,有些高人直接给了SDK中各软件的下载 ...
- Sql 高效分页
http://www.111cn.net/database/mysql/46350.htm http://g.kehou.com/t1032617472.html http://www.cnblogs ...
- 关于我们-EIBOA易博男装-互联网品质男装品牌-在线销售男士西服,衬衫,外套,西裤,领带|全场免运费,30天退换货保障
关于我们 - 网站底部 | ELLE中国 | ELLE China 关于赫斯特国际集团 男人尚--专注男人时尚 关于男人尚 这些数据,你知道吗? 1.全国至少1亿男人的衬衫尺码错误: 2.57%的男人 ...
- java对象在hibernate持久层的状态
站在持久化层的角度,一个java对象在它的生命周期中,可处于以下4个状态之一: 临时状态(transient):刚刚用new语句创建,还没有被持久化,并且不处于Session的缓存中. 持久化状态(p ...
- WPF - 如何引用external dll中图片
前几天一直想引用别的DLL里面的一个图片.总是出现各种各样问题,一气之下将图片拷贝到当前Project中,运行良好.虽然知道引用图片,就1.2.列出来的2点就够了. 1. The Build Acti ...
- 将Maven项目转换成Eclipse支持的Java项目
当我们通过模版(比如最简单的maven-archetype-quikstart插件)生成了一个maven的项目结构时,如何将它转换成eclipse支持的java project呢? 1. 定位到mav ...