雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

基于Python编程的简易自动收货机模拟系统

2024-07-01 111

在探索编程世界的奇妙旅程中,模拟真实世界的设备和系统是一种有趣且富有教育意义的方式。今天,我们将通过编写一个简单的Python程序,模拟一个自动收货机的工作流程,以帮助大家理解如何运用编程解决现实生活中的问题。

环境设定与需求分析

首先,我们定义一个自动收货机应具备以下功能:

存储多种商品及其对应的价格。

接收用户投币并计算余额。

用户选择商品后,检查余额是否足够支付。

若余额足够,则扣款并出货;否则提示用户充值。

提供找零功能。

Python代码实现

class VendingMachine:
    def __init__(self):
        self.products = {"Coke": 1.5, "Chips": 0.5, "Chocolate": 1.0}
        self.balance = 0.0

    def insert_coin(self, amount):
        self.balance += amount
        print(f"已投入{amount}元,当前余额:{self.balance}元")

    def select_product(self, product_name):
        if product_name in self.products:
            product_price = self.products[product_name]
            if self.balance >= product_price:
                self.balance -= product_price
                print(f"您已成功购买{product_name},扣除{product_price}元,剩余余额:{self.balance}元")
            else:
                print("余额不足,请继续投币")
        else:
            print("商品不存在,请重新选择")

    def get_change(self):
        change = self.balance
        if change > 0:
            self.balance = 0
            return change
        else:
            print("无需找零")

if __name__ == "__main__":
    vm = VendingMachine()
    vm.insert_coin(2.0)
    vm.select_product("Coke")
    change = vm.get_change()
    if change:
        print(f"找零:{change}元")

上述Python代码中,我们创建了一个VendingMachine类,初始化时设置商品价格字典和初始余额。定义了insert_coinselect_productget_change三个方法分别对应投币、选商品和找零的功能。

运行这段代码,你会看到模拟自动收货机工作的过程。当然,真实的自动售货机会更为复杂,涉及到硬件交互、库存管理等诸多环节,这里仅作为一个基础逻辑的演示。


更新于:5个月前
赞一波!1

文章评论

评论问答