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

yizhihongxing

下面就为你详细讲解“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提供了很多内置的模块来方便我们进行时间日期处理。 datetime模块 datetime模块是Python中用于处理时间日期的模块,其中包含了许多常用的类和函数。以下是datetime模块中的主要类: date:日期类,用于处理年月日 time:时间类,用于处理时分秒毫…

    python 2023年6月2日
    00
  • Python自动化办公之编写PDF拆分工具

    下面是关于“Python自动化办公之编写PDF拆分工具”的完整攻略。 1. 概述 本攻略将通过Python语言编写一个自动批量拆分PDF文件的工具,方便用户快速地进行PDF文件拆分操作。 2. 准备工作 在开始编写代码之前,我们需要先安装Python的相关包,主要包括PyPDF2、os、argparse等模块。这些可以通过pip进行安装,命令如下: pip …

    python 2023年6月5日
    00
  • python实现冒泡排序算法的两种方法

    冒泡排序是一种简单的排序算法,它的基本思想是重复地遍历要排序的列表,比较相邻的两个元素,并按照大小交换它们的位置,直到整个列表都是有序的。在Python中,我们可以使用两种方法来实现冒泡排序算法。 方法一:使用两个循环实现冒泡排序 以下是使用两个循环实现冒泡排序的Python代码示例: def bubble_sort(arr): n = len(arr) f…

    python 2023年5月13日
    00
  • 用python写一个windows下的定时关机脚本(推荐)

    当我们需要让电脑在一定时间后自动关机时,可以用python编写定时关机脚本。以下是实现的完整攻略: 步骤1:编写脚本 打开任意文本编辑器,新建一个空白文件,将以下代码复制进去: import os import time shutDownTime = int(input("请输入多少分钟后自动关机:")) os.system("…

    python 2023年5月23日
    00
  • Python实现两个list对应元素相减操作示例

    以下是“Python实现两个list对应元素相减操作示例”的完整攻略。 实现方法 在Python中,我们可以使用zip()函数将两个列表对应的元素包成一个元组,然后使用列表推导式对元组的元素进行相减操作。以下是Python实现两个list对应元素相操作的完整攻略。 zip()函数用于将两个对的元素打包成一个元组。它可以接受任意多个可迭代对象为参数,返回一个元…

    python 2023年5月13日
    00
  • Python 命令行解析工具 argparse基本用法

    下面是详细的Python命令行解析工具argparse基本用法攻略。 什么是argparse argparse是Python标准库中的一款命令行解析工具。它的主要功能是解析命令行参数,并生成清晰易懂的帮助文档。argparse能够接收一些选项、参数和子命令等信息,与程序所需的参数进行匹配,并将其转换成Python对象。argparse还支持自动化生成帮助信息…

    python 2023年6月3日
    00
  • 8段用于数据清洗Python代码(小结)

    下面我来为您详细讲解“8段用于数据清洗Python代码(小结)”的完整攻略。 一、背景介绍 在进行数据分析或机器学习时,原始数据通常需要进行清洗和处理以提高数据的质量和可用性。本文介绍了8段常用的Python代码,可对数据进行清洗和处理,并对这些代码的使用进行了详细的说明。 二、代码段介绍 1. 去除重复值 在数据清洗过程中,经常需要去除重复的行或记录。使用…

    python 2023年6月6日
    00
  • 使用Python脚本生成随机IP的简单方法

    下面是使用Python脚本生成随机IP的完整攻略: 1. 安装 Python 如果你还没有安装 Python,请先前往 Python官方网站 下载安装 Python 版本(推荐 Python3)。 2. 安装random和ipaddress模块 在使用 Python 生成随机 IP 地址之前,需要安装两个模块——random和ipaddress。安装方法如下…

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