Python实战之实现简单的购物车系统
#!usr/bin/env Python3
# -*-coding:utf-8-*- # 程序:购物车程序
#
# 需求:
#
# 启动程序后,让用户输入工资,然后打印商品列表
# 允许用户根据商品编号购买商品
# 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 可随时退出,退出时,打印已购买商品和余额 __author__="William"
#定义一个shop类
class Shop(object):
def __init__(self):
#初始化,用户的money,商品单价
self.salary = 0
self.apple = 2
self.banana = 3
self.demo = 2.5
#定义一个goods_list方法,用于展示商品及价格
def goods_list(self):
goods_list = ['apple','banana','demo']
apple_price = self.apple
banana_price = self.banana
demo_price = self.demo
print(goods_list[0],":",apple_price)
print(goods_list[1], ":", banana_price)
print(goods_list[2], ":", demo_price)
#定义一个buy方法
def buy(self):
buy_list = []
# 定义一个字典,用与用户选择
goods_dict = {
'':'apple',
'':'banan',
'':'demo',
'':'quit'
}
while True:
print(goods_dict)
key = input("Please input your choose:>>>")
if goods_dict[key] == 'quit':
break
else:
if goods_dict[key] == 'apple':
buy_list.append('apple')
continue
elif goods_dict[key] == 'banan':
buy_list.append('banan')
continue
elif goods_dict[key] == 'demo':
buy_list.append('demo')
continue
else:
print("Wrong input num")
#计算商品总价个
total = float(buy_list.count('apple')) * self.apple + float(buy_list.count('demo')) * self.demo + float(buy_list.count('banana')) * self.banana
left = float(self.salary) - total print(total,",",left) if __name__=="__main__":
#实例化
c1 = Shop()
#初始化salary的值
c1.salary = input("Please input your money:>>>")
#分别调用good_list和buy方法
c1.goods_list()
c1.buy()
Python实战之实现简单的购物车系统的更多相关文章
- Python实战之实现简单的登陆系统-作业
#!usr/bin/env Python3 # -*-coding:utf-8-*- #编写登陆接口 #输入用户名密码 #认证成功后显示欢迎信息 #输错三次后锁定 __author__="W ...
- 使用MongoDB和JSP实现一个简单的购物车系统
目录 1 问题描述 2 解决方案 2.1 实现功能 2.2 最终运行效果图 2.3 系统功能框架示意图 2.4 有关MongoDB简介及系统环境配置 2.5 核心功能代码讲解 ...
- Flask学习之旅--用 Python + Flask 制作一个简单的验证码系统
一.写在前面 现在无论大大小小的网站,基本上都会使用验证码,登录的时候要验证,下载的时候要验证,而使用的验证码也从那些简简单单的字符图形验证码“进化”成了需要进行图文识别的验证码.需要拖动滑块的滑动验 ...
- 洗礼灵魂,修炼python(76)--全栈项目实战篇(4)—— 购物车系统
要求: 1.基本符合日常购物车的要求(根据你的想法开放性提升功能) 2.展示商品信息,并且可随时上新商品 3.用户购买每一样商品时都对所剩的钱做一次对比,如果够则提示“已购买”,如果不够提示“余额不足 ...
- Python入门之实现简单的购物车功能
Talk is cheap,Let's do this! product_list = [ ['Iphone7 Plus', 6500], ['Iphone8 ', 8200], ['MacBook ...
- Python实战之dict简单练习
['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__forma ...
- Python实战之列表简单练习
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__ ...
- python实战===国内很简单实用的一些开源的api以及开源项目
原创 2017年03月25日 15:40:59 标签: api / 开源项目 / app / 免费接口 声明 以下所有 API 均由产品公司自身提供,本人皆从网络获取.获取与共享之行为或有侵犯产品 ...
- python实战===石头剪刀布,简单模型
#石头剪刀布 import random import time win_list = [("石头","剪刀"),("布","石头 ...
随机推荐
- MySQL的JOIN(三):JOIN优化实践之内循环的次数
这篇博文讲述如何优化内循环的次数.内循环的次数受驱动表的记录数所影响,驱动表记录数越多,内循环就越多,连接效率就越低下,所以尽量用小表驱动大表.先插入测试数据. CREATE TABLE t1 ( i ...
- 实现点击后创建div,若对div2秒无操作则将div隐藏,鼠标移上div让它不隐藏,移出div超过两秒则div隐藏
$('.addLabel').on('click', function () { setTimeout(function(){ if(hoverflag==0){ $(".labelHide ...
- Spring Boot-------项目搭建及注解
Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需 ...
- zabbix 问题汇总
1.Zabbix agent on Zabbix server is unreachable for 5 minutes 查看日志sudo tailf /var/log/zabbix/zabbix_a ...
- WPF的TextBox水印效果详解
一种自以为是的方式: 本来只是想简单的做个水印效果,在文本框内容为空的时候提示用户输入,这种需求挺常见.网上一搜 都是丢给你你一大段xaml代码.用c#代码实现我是不倾向了 既然用wpf就得Xaml啊 ...
- 软件工程(GZSD2015)第二次作业进度
贵州师范大学软件工程第二次作业 徐 镇 王铭霞 张 英 涂江枫 张 燕 安 坤 周 娟 杨明颢 杨家堂 罗文豪 娄秀盛 周 娟 李盼 岳庆 张颖 李丽思 邓婷 唐洁 郑倩 尚清丽 陈小丽 毛茸 宋光能 ...
- 201521123103 《Java学习笔记》 第四周学习总结
一.本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. (1)多态性:相同形态,不同行为(不同的定义): (2)多态绑定:运行时能够自动地选择调用哪个 ...
- 201521123076 《Java程序设计》第11周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) ...
- 201521123106 《Java程序设计》第9周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自己以前 ...
- Could not execute JDBC batch update; SQL [delete from role where roleId=?]; constraint [null]; neste
今天在写多个删除功能的时候出现了这么一个错误:意思是删除操作的时候,没有找到对应的外键. Cannot delete or update a parent row: a foreign key con ...