大佬教程收集整理的这篇文章主要介绍了在自动售货机中添加库存加法器(询问用户是否要为当前缺货的商品添加一些库存),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
您好,我在为自动售货机程序创建库存加法器时遇到问题。例如,如果巧克力没有剩余库存,则系统会询问用户是否要添加一些库存。如果用户回答“否”,则系统将被终止,或者用户将订购另一件商品。
class Item:
def __init__(self,name,price,stock):
self.name = name
self.price = price
self.stock = stock
def updateStock(self,stock):
self.stock = stock
def buyFromStock(self):
if self.stock == 0:
pass
self.stock -= 1
class vendingMachine:
def __init__(self):
self.amount = 0
self.items = []
def addItem(self,item):
self.items.append(item)
def showItems(self):
print('\nitems available \n***************')
for item in self.items:
if item.stock == 0:
self.items.remove(item)
for item in self.items:
print(item.name,item.price)
print('***************\n')
def addCash(self,money):
self.amount = self.amount + money
def buyItem(self,item):
if self.amount < item.price:
print('You can\'t but this item. Insert more coins.')
else:
self.amount -= item.price
item.buyFromStock()
print('You got ' +item.name)
print('Cash remaining: ' + str(self.amount))
def containsItem(self,wanted):
ret = False
for item in self.items:
if item.name == wanted:
ret = True
break
return ret
def getItem(self,wanted):
ret = None
for item in self.items:
if item.name == wanted:
ret = item
break
return ret
def insertAmountForItem(self,item):
price = item.price
while self.amount < price:
self.amount = self.amount + float(input('insert ' + str(price - self.amount) + ': '))
def checkrefund(self):
if self.amount > 0:
print(self.amount + " refunded.")
self.amount = 0
print('Thank you,have a nice day!\n')
def vend():
machine = vendingMachine()
item1 = Item('Chocolate',50,2)
item2 = Item('Popcorn',25,1)
item3 = Item('Tortillas',30,3)
item4 = Item('Hotdog',27,1)
item5 = Item('Coffee',10,3)
machine.addItem(item1)
machine.addItem(item2)
machine.addItem(item3)
machine.addItem(item4)
machine.addItem(item5)
print('Welcome to the vending machine!\n***************')
continuetoBuy = True
while continuetoBuy == True:
machine.showItems()
selected = input('select item: ')
if machine.containsItem(selected):
item = machine.getItem(selected)
machine.insertAmountForItem(item)
machine.buyItem(item)
a = input('buy something else? (y/n): ')
if a == 'n':
continuetoBuy = False
machine.checkrefund()
else:
continue
else:
print('Item not available. Select another item.')
continue
vend()
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的在自动售货机中添加库存加法器(询问用户是否要为当前缺货的商品添加一些库存)全部内容,希望文章能够帮你解决在自动售货机中添加库存加法器(询问用户是否要为当前缺货的商品添加一些库存)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。