python自动售货机_Python:自动售货机
该程序提供项目,让用户为项目付款,“提供”项目,并更新每个项目的库存。它似乎或多或少起作用。我有两个问题:
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:自动售货机相关推荐
- python图片裁剪对比_Python自动抢视频红包,仅供学习!
本文来源于公众号: AirPython 1 目 标 场 景 如今短视频横行的时代,以某短视频为首的,背后依靠着强大的资金后盾,疯狂地对平台用户进行红包轰炸. 与传统的红包不一样,视频红包包含位置的不确 ...
- python写扫雷脚本_Python自动扫雷实现方法
本文实例讲述了Python自动扫雷实现方法.分享给大家供大家参考.具体如下: #pyWinmineCrack.py # coding: utf-8 import win32gui import win ...
- python如何保存源文件_python自动保存百度盘资源到百度盘中的实例代码
本实例的实现逻辑是,应用selenium UI自动化登录百度盘,读取存储百度分享地址和提取码的txt文档,打开百度盘分享地址,填入提取码,然后保存到指定的目录中 全部代码如下: # -*-coding ...
- python自动生成表格_Python自动整理 Excel 表格
相信有不少朋友日常工作会用到 Excel 处理各式表格文件,更有甚者可能要花大把时间来做繁琐耗时的表格整理工作.最近有朋友问可否编程来减轻表格整理工作量,今儿我们就通过实例来实现 Python 对表格 ...
- python单元测试框架作用_Python自动单元测试框架
简介: 软件的测试是一件非常乏味的事情,在测试别人编写的软件时尤其如此,程序员通常都只对编写代码感兴趣,而不喜欢文档编写和软件测试这类"没有创新"的工作.既然如此,为什么不让程序员 ...
- python 测试用例管理 生成_python自动生成接口测试用例
在python中Template可以将字符串的格式固定下来,重复利用. 同一套测试框架为了可以复用,所以我们可以将用例部分做参数化,然后运用到各个项目中. 代码如下: coding=utf-8 ''' ...
- python自动输入文字_Python自动输入【新手必学】
本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:哈喽哈嘿哈 这篇文章是我的第一篇文章,写的不好的地方,请大家多多指教哈,另 ...
- python微信抢红包神器_Python自动抢红包教程详解
0 引言 提到抢红包,就不得不提Xposed框架,它简直是个抢红包的神器,但使用Xposed框架有一个前提条件:手机需要root,对于苹果手机的话就需要越狱了.现在的手机想要root或越狱并不容易,同 ...
- python 在软件自己自动输入器_Python自动操作GUI神器PyAutoGUI
本文共3500余字,预计阅读时间12分钟,本文知乎连接:Python自动操作GUI神器PyAutoGUI,本文同步发布于silaoA的博客和微信公众号平台. 关注学习了解更多的Cygwin.Linux ...
最新文章
- Microsoft HoloLens 入华一周年,都有哪些进展?
- Sqlserver2014下载与安装
- .net组件开发系列之武术系列 武术招数 控件生命周期与控件事件机制
- 【解析】基础实验4-2.5 关于堆的判断 (25 分)
- java设计按月每天签到_java实现app签到功能
- input内容右对齐_向右打方向倒库过程中,如何判断后车距离?光线较暗车库倒库技巧...
- 【高并发解决方案】5、如何设计一个秒杀系统
- linux 中常用安装配置
- WIN7 IE 无法启动
- matlab初学者教程_初学者的Hibernate教程
- oneproxy出现2103错误代码解决方案
- 外卖侠小程序源码v4.24.0微擎插件外卖cps同城生活团购
- Symbian系统手机软件
- 使用WebPack构建UMD库兼容性原理浅谈
- oracle同义词6,Oracle同义词
- 【Leetcode刷题Python】134. 加油站
- 一图秒懂“天使投资、VC、PE” 与“A轮、B轮、C轮融资”的关系
- 崩坏三 夏日竞猜 7.21 第一场
- 如何实现ps的批量处理图片
- PKCS #5: Password-Based Cryptography Specification Version 2.1 中文翻译