Python实现的一个自动售饮料程序代码分享

下面就为你详细讲解“Python实现的一个自动售饮料程序代码分享”的完整攻略。

1. 确定需求

在开始编写代码之前,我们需要先明确自动售饮料程序的需求:

  • 提供多种饮料选择,如可乐、雪碧、奶茶等。
  • 用户可以通过输入编号或名称来选择饮料。
  • 根据用户的选择,展示所选饮料的价格和库存量。
  • 如果库存不足,提示用户无法购买。
  • 如果用户支付金额不足,提示用户需补足差价。
  • 如果用户支付金额过多,返回找零金额。
  • 在用户支付完成后,更新所选饮料的库存量。

2. 编写代码

根据以上需求,我们可以开始编写Python代码。首先,我们需要定义饮料的种类、价格和初始库存量。以下是一个示例代码:

drinks = [{'name': '可乐', 'price': 3, 'stock': 10},
          {'name': '雪碧', 'price': 3, 'stock': 10},
          {'name': '奶茶', 'price': 5, 'stock': 5}]

以上代码定义了三种饮料:可乐、雪碧和奶茶,每种饮料的价格和初始库存量分别为3元/瓶或杯和10瓶或杯、3元/瓶或杯和10瓶或杯、5元/瓶或杯和5瓶或杯。

接下来,我们需要编写一个函数来展示所有可供选择的饮料以及其价格和库存量:

def show_drinks():
    print('编号\t名称\t价格\t库存')
    for i in range(len(drinks)):
        print('{}\t{}\t{}\t{}'.format(i+1, drinks[i]['name'], drinks[i]['price'], drinks[i]['stock']))

以上代码中,我们使用了print函数展示了每种饮料的编号、名称、价格和库存量。

接下来,我们需要编写一个函数来根据用户输入的编号或名称来选择饮料,并展示所选饮料的价格和库存量:

def select_drink():
    while True:
        choice = input('请选择饮料编号或名称:')
        for drink in drinks:
            if choice == str(drinks.index(drink)+1) or choice == drink['name']:
                if drink['stock'] > 0:
                    print('您选择了{},价格为{}元/瓶或杯,库存剩余{}瓶或杯。'.format(drink['name'], drink['price'], drink['stock']))
                    return drink
                else:
                    print('该饮料库存不足,请选择其他饮料。')
                    break
        else:
            print('您的输入有误,请重新输入。')

以上代码中,我们使用了input函数获取用户输入的编号或名称,并根据输入查找饮料。如果用户选择的饮料库存充足,则展示所选饮料的价格和库存量,并返回该饮料的信息;否则,提示用户该饮料库存不足。

有了用户所选饮料的信息后,我们需要编写一个函数来处理用户支付金额并返回找零金额:

def pay(drink):
    total_price = drink['price']
    while True:
        money = float(input('请输入支付金额:'))
        if money < total_price:
            print('支付金额不足,请补足差价。')
            total_price -= money
        else:
            change = money - total_price
            print('支付成功,找零金额为{}元。'.format(change))
            drink['stock'] -= 1
            break

以上代码中,我们使用了一个while循环来判断用户支付金额是否足够,如不足则提示用户需补足差价;如足够,则计算找零金额并展示支付成功的信息。最后,更新所选饮料的库存量。

3. 运行程序

最后,我们只需要在主程序中依次调用以上函数,就可以实现一个基本的自动售饮料程序。以下是一个示例代码:

if __name__ == '__main__':
    show_drinks()
    drink = select_drink()
    pay(drink)

以上代码中,我们使用了一个if __name__ == '__main__'语句来判断是否直接运行该程序。如果是,则展示所有可供选择的饮料并等待用户选择;选择完毕后,要求用户支付金额并计算找零金额,最后更新所选饮料的库存量。

示例

下面给出两个示例,分别是用户可以选择饮料编号或名称的场景:

示例1:选择饮料编号

假设用户希望购买可乐,他可以通过输入编号1来选择该饮料:

编号  名称  价格  库存
1   可乐  3   10
2   雪碧  3   10
3   奶茶  5   5
请选择饮料编号或名称:1
您选择了可乐,价格为3元/瓶或杯,库存剩余9瓶或杯。
请输入支付金额:3
支付成功,找零金额为0.0元。

以上代码首先展示了所有可供选择的饮料,然后用户选择了编号1对应的可乐。由于该饮料库存充足,所以展示了该饮料的信息。接着,用户输入了3元作为支付金额,支付成功并无需找零。

示例2:选择饮料名称

假设用户并不知道饮料的编号,他可以通过输入饮料名称来选择饮料。例如,他可以选择奶茶:

编号  名称  价格  库存
1   可乐  3   9
2   雪碧  3   10
3   奶茶  5   5
请选择饮料编号或名称:奶茶
您选择了奶茶,价格为5元/瓶或杯,库存剩余4瓶或杯。
请输入支付金额:6
支付成功,找零金额为1.0元。

以上代码中,用户输入了奶茶这个名称,并正确选择了该饮料。然后,他支付了6元,并成功买到了一瓶奶茶,找零金额为1元。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现的一个自动售饮料程序代码分享 - Python技术站

(2)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python正则表达式实现自动化编程

    Python正则表达式实现自动化编程攻略 正则表达式是一种强大的工具,可以用于匹配、查找和替换文本中的模式。Python re 模块提供了正则表达式的支持,可以使用正则表达式实现自动化编程。本攻略将详细讲解如何使用 Python 正则表达式实现自动化编程的基本原理、常用函数和示例应用。 基本原理 Python 正则表达式实现自动化编程的基本原理是通过正则表达…

    python 2023年5月14日
    00
  • python数据类型_字符串常用操作(详解)

    Python数据类型:字符串常用操作(详解) 在Python中,字符串是一种非常常见的数据类型。字符串常用操作是Python编程中的基础操作之一。本攻略将详细介绍Python字符串用操作,括字符串的定义、字符串的索引、字符串的切片、字符串的拼接、字符串的替换、字符串的分割、字符串的大小转换、字符串的格式化等。 字符串的定义 在Python中,可以使用单引号或…

    python 2023年5月13日
    00
  • python使用KNN算法手写体识别

    python使用KNN算法手写体识别 介绍 K最近邻(K-Nearest Neighbor,KNN)算法是一种用于分类和回归的非参数方法。在模型管理中,KNN被认为是一种有监督的学习方法,其中非标记数据分类或回归信息传递给最近邻居的标记数据来预测新输入的标记。 本文将会使用Python编程语言和KNN算法来手写体识别。下面是一个完整的攻略: 总体步骤 步骤1…

    python 2023年6月6日
    00
  • python中os操作文件及文件路径实例汇总

    让我来为您详细讲解“Python中OS操作文件及文件路径实例汇总”的完整攻略。 简介 在Python中,操作文件及文件路径是比较常见的情景,而OS是Python内置模块之一,提供了许多操作文件及文件路径的方法。在本攻略中,我们会对OS模块进行简单介绍以及详细讲解OS中常用的文件及文件路径操作方法,并提供代码示例帮助大家理解掌握。 OS模块简介 OS模块是Py…

    python 2023年6月2日
    00
  • 正则表达式(regular)知识(整理)

    以下是详细讲解“正则表达式(regular expression)知识(整理)”的完整攻略,包括正则表达式的介绍、基本语法、元字符常用函数、两个示例说明和注意事项。 正则表达式的介绍 正则表达式是一种用于匹配字符串模式,它可以用于搜索、替换和验证字符串。正则表达式在计算科学中有着广泛的应用,如文本编辑器、搜索引擎、数据抽取领域。 正则表达式基本语法 正则表达…

    python 2023年5月14日
    00
  • Python使用folium excel绘制point

    下面我来详细讲解“Python使用folium excel绘制point”的完整攻略。 准备工作 使用pip安装folium、pandas和openpyxl三个库,它们分别用于在地图上标记点、读取Excel文件和操作Excel文件。 pip install folium pandas openpyxl 示例一:从Excel文件中读取数据并绘制标记点 首先,我…

    python 2023年6月3日
    00
  • python rsa 加密解密

    关于 Python RSA 加密解密的完整攻略包括以下几个方面: 简介和原理 安装 RSA 库 生成 RSA 密钥对 加密和解密 示例 接下来,我将会一一解释。 1. 简介和原理 RSA 是一种非对称加密算法,是由 Ron Rivest、Adi Shamir 和 Leonard Adleman 发明的。在 RSA 算法中,通过使用一对密钥(公钥和私钥)来进行…

    python 2023年5月20日
    00
  • Python实现备份文件实例

    Python实现备份文件实例 在实际的工作中,我们需要将数据进行备份,以防数据丢失或损坏。Python作为一门高效、灵活的编程语言,可以帮助我们简单、快捷地实现文件备份。 实现思路 文件备份的实现思路非常简单,通俗易懂。我们只需要按照以下步骤来实现即可: 找到需要备份的文件。 将文件复制到备份文件夹中。 完成备份。 在Python中,我们可以使用os模块来完…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部