下面就为你详细讲解“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技术站