项目自动售货机

简介: 用python语言编写项目自动售货机。

项目自动售货机:

学校里的自动售货机只能买一个东西付一次帐,不能同时选几个商品,同时付帐!
写一个程序自动售货机的程序可以实现同时选择商品且能同时付账的程序!
已知商品及商品价格的字典如下:
{'方便面':'4.5','香肠':'2','锅巴':'3','磨片':'3','可乐':'3','雪碧':'3','鸡蛋':'3','蛋卷':'5','派':'4.5'}
要求:
1、定义class来实现。
2、输入要买的商品名及个数且可输入多个商品,返回总价。
3、类要有商品清单的属性,以返回实例所购买的商品名称个数单价及总价
4、每次购买成功后,流水要保存到excel表格。
import openpyxl, datetime

class SaleMachine:
def init(self):
self.sale_goods = {'方便面':'4.5','香肠':'2','锅巴':'3','磨片':'3','可乐':'3','雪碧':'3','鸡蛋':'3','蛋卷':'5','派':'4.5'}
self.buy_dict = {}
self.excel = openpyxl.load_workbook('a.xlsx')
self.buy_goods()

def buy_goods(self):
    print("------------欢迎光临------------")
    while True:
        g = input('请输入想要购买的商品名称:')
        n = input('请输入想要购买的数量:')
        if g not in self.sale_goods.keys():
            print("该商品目前没有货, 买点别的吧~")
            continue
        try:
            new_n = int(n)
            if new_n <= 0:
                print("该数量不正确哦, 请重新输入~")
                continue
        except:
            print("该数量不正确哦, 请重新输入~")
            continue
        self.buy_dict[g] = new_n
        keep = input('~~~~~~~~~~~还买点别的吗?~~~~~~~~~~~`')
        if keep == "否":
            print('总价格:', self.add_price())
            self.save_excel()
            break

def save_excel(self):
    wb = self.excel.active
    row = wb.max_row
    for k, v in self.buy_dict.items():
        cell_a = wb["A%d" % (row+1)]
        cell_a.value = k
        cell_b = wb["B%d" % (row+1)]
        cell_b.value = v
        cell_c = wb["C%d" % (row+1)]
        cell_c.value = datetime.datetime.now()
        row += 1
    self.excel.save('a.xlsx')

def add_price(self):
    all_price = 0
    for k, v in self.buy_dict.items():
        price = self.sale_goods[k]
        all_price = all_price + (float(price) * v)
    return all_price

if name == "main":
g = SaleMachine()

相关文章
|
供应链 安全 前端开发
【开题报告】基于JavaWeb的有机蔬菜销售系统的设计与实现
【开题报告】基于JavaWeb的有机蔬菜销售系统的设计与实现
210 0
|
Java 关系型数据库 MySQL
小区物业管理信息系统设计与实现(论文+源码)
随着互联网的发展,网络技术的发展变得极其重要,所以依靠计算机处理业务成为了一种社会普遍的现状。管理方式也自然而然的向着现代化技术方向而改变,所以纯人工管理方式在越来越完善的现代化管理技术的比较之下也就显得过于繁琐,会在未来的发展中被淘汰也是意料之中的事情,并逐渐从人们的生活中消失。该设计所设计的内容围绕的正是一种对管理方式的设计,而且小区物业业主管理系统也是应时而生,事半功倍。
101 0
|
4月前
|
数据可视化 定位技术 vr&ar
商场3D楼层导视软件功能详解与实施效益
**维小帮3D楼层导视软件**提供创新的商场导航体验:3D地图清晰呈现楼层布局,跨楼层导航智能规划路径;实时定位防止迷路;AR实景导航增强沉浸感;广告推送及可视化招商平台助力商业运营。软件结合VR、AR技术,优化顾客导航,促进营销,实现智慧化管理与招商,引领商场服务升级。
107 0
商场3D楼层导视软件功能详解与实施效益
|
4月前
|
搜索推荐
酒吧霸屏系统开发规则逻辑分析
酒吧霸屏软件通过大屏幕显示器或投影设备,实时播放最新的音乐MV、时尚的视觉特效、有趣的互动游戏等多种元素,为顾客带来沉浸式的娱乐体验。这种新型的娱乐展示方式,不仅能够增加酒吧的吸引力和活跃度,还能够提升顾客的消费体验,吸引更多的顾客前来消费。
|
存储 安全 算法
Jogger跑鞋NFT铸造合成分红系统开发成熟技术方案及详细/源码功能
  区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
|
监控 分布式数据库 区块链
Jogger 慢跑者 Stepn 跑鞋 NFT 铸造合成项目系统开发(成熟源码)
而智能合约是在区块链的保证信息传递的一致性、可信性和安全性基础上
|
前端开发 区块链 数据安全/隐私保护
Jogger慢跑者/Stepn跑鞋NFT铸造合成项目系统开发逻辑方案/案例设计/成熟技术/源码详解
  区块链作为一种新的信息与网络技术,运用加密技术、分布式网络和共识机制来保证网络中每个节点所记录的信息真实有效。区块链正在不断渗透到各行各业中,已经展现出良好的发展态势。
|
存储 安全 区块链
Jogger慢跑者跑鞋/链游项目系统开发(开发方案),Jogger跑鞋NFT链游模式系统开发详细案例及源码技术
  区块链是一种将数据区块按照时间顺序组合成的链式结构,是去中心化系统中各节点共享且共同维护的分布式数据账本,具体的:各节点由P2P组网方式相互连通和交互,受激励机制激励贡献自身算力,
|
开发框架 Rust 安全
Stepn跑鞋趣步跑步运动系统开发(开发逻辑)丨Stepn跑鞋链游项目系统开发(详情及玩法)/成熟技术/源码版
在DApp开发中,智能合约是不可或缺的一部分。智能合约通常使用Solidity语言编写,并且运行在以太坊或其他区块链平台上。在智能合约中,开发人员可以编写代码来定义合约的逻辑和执行流程。智能合约的执行是通过区块链网络的节点共识机制来完成的,保证了其不可篡改性和安全性。
|
机器人 区块链 Windows
国王小组:开发数字货币交易所搭建声波高级机器人如何运行
秒合约交易所系统开发实现技术分析及代码部署 秒合约交易所开发详细丨秒合约交易所系统开发详细及规则丨秒合约交易所系统源码部署 数字货币交易所开发源码丨数字货币交易所系统开发(详细及逻辑) 交易所开发正式版丨区块链交易所系统开发实现技术功能及源码 交易所开发案例丨交易所系统开发(详细及流程)丨交易所成熟及源码系统 交易所开发(稳定版)丨交易所系统开发(方案及逻辑)丨 交易所系统源码功能 什么是去中心化交易所系统开发丨浅谈uniswap丨justswap 交易所源码(整体架构演示) 交易所搭建,交易所源码是怎么开发的? 区块链交易所怎么搭建?
国王小组:开发数字货币交易所搭建声波高级机器人如何运行
下一篇
无影云桌面