该程序提供项目,让用户为项目付款,“提供”项目,并更新每个项目的库存。它似乎或多或少起作用。我有两个问题:

1)我不知道如何在用户回答“n”回答“购买其他东西”后退出自动售货机程序?(y/n):'。在

2)有没有办法让代码更简单/更好?在def vend():

a = {'item': 'choc', 'price': 1.5, 'stock': 2}

b = {'item': 'pop', 'price': 1.75, 'stock': 1}

c = {'item': 'chips', 'price': 2.0, 'stock': 3}

d = {'item': 'gum', 'price': 0.50, 'stock': 1}

e = {'item': 'mints', 'price': 0.75, 'stock': 3}

items = [a, b, c, d, e]

cim = 0 # cash in machine

print('welcome to vending machine! \n***************')

# show items, prices

def show(items):

print('\nitems available \n***************')

for item in items:

if item.get('stock') == 0:

items.remove(item)

for item in items:

print(item.get('item'), item.get('price'))

print('***************\n')

# have user choose item

while True:

show(items)

selected = input('select item: ')

for item in items:

if selected == item.get('item'):

selected = item

price = selected.get('price')

while cim < price:

cim = float(input('insert ' + str(price - cim) + ': '))

else:

print('you got ' + selected.get('item'))

selected['stock'] -= 1

cim -= price

print('cash remaining: ' + str(cim))

a = input('buy something else? (y/n): ')

if a == 'n':

if cim != 0:

print(str(cim) + ' refunded')

cim = 0

print('thank you, have a nice day!\n')

break

else:

print('thank you, have a nice day!\n')

break

else:

continue

vend()

python自动售货机_Python:自动售货机相关推荐

  1. python图片裁剪对比_Python自动抢视频红包,仅供学习!

    本文来源于公众号: AirPython 1 目 标 场 景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不确 ...

  2. python写扫雷脚本_Python自动扫雷实现方法

    本文实例讲述了Python自动扫雷实现方法.分享给大家供大家参考.具体如下: #pyWinmineCrack.py # coding: utf-8 import win32gui import win ...

  3. python如何保存源文件_python自动保存百度盘资源到百度盘中的实例代码

    本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中 全部代码如下: # -*-coding ...

  4. python自动生成表格_Python自动整理 Excel 表格

    相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作.最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格 ...

  5. python单元测试框架作用_Python自动单元测试框架

    简介: 软件的测试是一件非常乏味的事情,在测试别人编写的软件时尤其如此,程序员通常都只对编写代码感兴趣,而不喜欢文档编写和软件测试这类"没有创新"的工作.既然如此,为什么不让程序员 ...

  6. python 测试用例管理 生成_python自动生成接口测试用例

    在python中Template可以将字符串的格式固定下来,重复利用. 同一套测试框架为了可以复用,所以我们可以将用例部分做参数化,然后运用到各个项目中. 代码如下: coding=utf-8 ''' ...

  7. python自动输入文字_Python自动输入【新手必学】

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:哈喽哈嘿哈 这篇文章是我的第一篇文章,写的不好的地方,请大家多多指教哈,另 ...

  8. python微信抢红包神器_Python自动抢红包教程详解

    0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了.现在的手机想要root或越狱并不容易,同 ...

  9. python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI

    本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...

最新文章

  1. Microsoft HoloLens 入华一周年,都有哪些进展?
  2. Sqlserver2014下载与安装
  3. .net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制
  4. 【解析】基础实验4-2.5 关于堆的判断 (25 分)
  5. java设计按月每天签到_java实现app签到功能
  6. input内容右对齐_向右打方向倒库过程中,如何判断后车距离?光线较暗车库倒库技巧...
  7. 【高并发解决方案】5、如何设计一个秒杀系统
  8. linux 中常用安装配置
  9. WIN7 IE 无法启动
  10. matlab初学者教程_初学者的Hibernate教程
  11. oneproxy出现2103错误代码解决方案
  12. 外卖侠小程序源码v4.24.0微擎插件外卖cps同城生活团购
  13. Symbian系统手机软件
  14. 使用WebPack构建UMD库兼容性原理浅谈
  15. oracle同义词6,Oracle同义词
  16. 【Leetcode刷题Python】134. 加油站
  17. 一图秒懂“天使投资、VC、PE” 与“A轮、B轮、C轮融资”的关系
  18. 崩坏三 夏日竞猜 7.21 第一场
  19. 如何实现ps的批量处理图片
  20. PKCS #5: Password-Based Cryptography Specification Version 2.1 中文翻译

热门文章

  1. 小米Pro安装win7记录
  2. 文献管理软件Mendeley最新使用指南看这里!
  3. css3好看的六图3D旋转
  4. 华为vr计算机连接线,贝尔金推出HUAWEI VR Glass计算机数据线
  5. 翻译Monoxide: Scale out Blockchains with Asynchronous Consensus Zones
  6. Trigger触发器常见问题
  7. (转)《杂 文》 之 教你制作一份属于自己的简历
  8. 32位PCI转CPCI转接板
  9. jetson nano opencv3.4.x安装
  10. 浅谈FTP(文件传输协议)