надеюсь кто-то может помочь. im пытается создать виртуальный торговый автомат. ive дошел до моего кода, но застрял на нескольких вещах. Мне нужна помощь в создании кода в этом разделе.Python Виртуальный торговый автомат
count = 0
TotalCredit = 0
coinNum = int (input("How many coins would you like to enter: "))
while count in range (coinNum):
coin = float (input ("Coins accepted 0.10 0.20 0.50 1.00: £ "))
TotalCredit = TotalCredit + coin
count = count + 1
так, если монеты Введенные ничего, кроме 0,10 0,20 0,50 1,00 печатает сообщение «Invalid монета вошла пожалуйста, попробуйте еще раз» и возвращается назад, чтобы начать.
Мне также нужен цикл while, если в нем недостаточно кредитов, он печатает «Недостаточно средств, пожалуйста, добавьте больше кредитов» и вернется, чтобы вы могли добавить кредит. Я знаю, что минимальная сумма кредита равна 0,59, поэтому у меня есть идея, что цикл является чем-то вроде «while TotalCredit < 0.59, но не уверен, как отправить пользователя обратно, чтобы добавить больше. ive перечисленный ниже код, чтобы вы могли видеть, насколько далеко ушел. им всего 15 и просто изучать кодирование, поэтому, пожалуйста, как можно больше помощи будет очень ценится.
def vendingMachine():
count = 0
TotalCredit = 0
coinNum = int (input("How many coins would you like to enter: "))
while count in range (coinNum):
coin = float (input ("Coins accepted 0.10 0.20 0.50 1.00: £ "))
TotalCredit = TotalCredit + coin
count = count + 1
print ("You have £",round(TotalCredit,2),"credit ")
print ("")
print ("Choose your item:")
print ("")
print ("1.Coco-Cola")
print ("2.Walkers Cheese & Onion")
print ("3.Lucozade")
print ("4.Wosits")
print ("5.Water")
print ("")
FinalCredit = TotalCredit
round (FinalCredit, 2)
item = int (input ("Enter the number for your item: "))
print ("")
while item <1 or item >5:
print ("This item is not available.")
item = int (input ("Enter the number for your item: "))
if item == 1:
FinalCredit = TotalCredit - 0.59
print ("You now have a Coca-Cola can, costing £0.59.")
print ("You have",round(FinalCredit,2),"credit remaning.")
elif item == 2:
FinalCredit = TotalCredit - 0.69
print ("You now have a Walkers crisp packet, costing £0.69.")
print ("You have", round(FinalCredit,2),"credit remaning.")
elif item == 3:
FinalCredit = TotalCredit - 0.99
print ("You now have a Lucozade drink, costing £0.99.")
print ("You have" ,round(FinalCredit,2),"credit remaning.")
elif item == 4:
FinalCredit = TotalCredit - 0.59
print ("You now have a Wosits crisp packet, costing £0.59.")
print ("You have",round(FinalCredit,2),"credit remaning.")
elif item == 5:
FinalCredit = TotalCredit - 0.79
print ("You now have a bottle of water, costing £0.79.")
print ("You have",round(FinalCredit,2),"credit remaning.")
else:
print ("This not an option.")
print ("")
print ("The rest of your money, £(0), has been
outputted.".format(round(FinalCredit,2)))
vendingMachine()
Исправьте углубление. Для части * ввода монет * обратите внимание на это SO Q & A [запрашивать пользователя для ввода, пока он не даст действительный ответ] (http://stackoverflow.com/q/23294658/2823755) – wwii
Хорошей практикой является запись вниз, на словах, то, что вы пытаетесь сделать, и шаги, необходимые для достижения этого (так же, как вы это делали, задавая этот вопрос). Взгляните на эту * спецификацию * и попробуйте сгруппировать ее в * функциональные * куски.Попробуйте превратить этот текст в код - поиграйте в оболочку, чтобы увидеть, как все работает. – wwii
Если у вас возникли проблемы с представлением о том, как превратить ваш * псевдокод * в код, это может означать, что вам еще не хватает словарного запаса *, и вам нужно потратить больше времени на [учебник] (https: //docs.python. org/3/tutorial/index.html), [BeginnersGuideNonProgrammers] (https://wiki.python.org/moin/BeginnersGuide/NonProgrammers) – wwii