Ce script fait partie des projets Python de HyperSkill.
j'ai fait toute la formation python de Hyperskill pendant le Confinement 2020.
| # Write your code here | |
| class CoffeMachine: | |
| def __init__(self): | |
| # water, milk, beans, cups, money | |
| self.inventory = [400, 540, 120, 9, 550] | |
| # x water, x milk, x beans, cups, price | |
| espresso = (250, 0, 16, 1, 4) | |
| latte = (350, 75, 20, 1, 7) | |
| cappuccino = (200, 100, 12, 1, 6) | |
| self.coffee_list = (espresso, latte, cappuccino) | |
| def menu(self, action): | |
| if action == "buy": | |
| self.buy() | |
| elif action == "fill": | |
| self.fill() | |
| elif action == "take": | |
| self.take() | |
| elif action == "remaining": | |
| self.status() | |
| elif action == "exit": | |
| exit(0) | |
| def status(self): | |
| print(f"The coffee machine has:\n" | |
| f"{self.inventory[0]} of water\n" | |
| f"{self.inventory[1]} of milk\n" | |
| f"{self.inventory[2]} of coffee beans\n" | |
| f"{self.inventory[3]} of disposable cups\n" | |
| f"{self.inventory[4]} of money\n") | |
| def fill(self): | |
| texts = ["Write how many ml of water do you want to add:", | |
| "Write how many ml of milk do you want to add:", | |
| "Write how many grams of coffee beans do you want to add:", | |
| "Write how many disposable cups of coffee do you want to add:"] | |
| for i in range(4): | |
| self.inventory[i] += int(input(texts[i])) | |
| def take(self): | |
| print(f"I gave you ${self.inventory[4]}") | |
| self.inventory[4] = 0 | |
| def buy(self): | |
| coffee = input("What do you want to buy? 1 - espresso, 2 - latte, 3 - cappuccino, back - return menu:") | |
| if coffee == "back": | |
| return | |
| proportion = self.coffee_list[int(coffee) - 1] | |
| check = [self.inventory[i] > proportion[i] for i in range(4)] | |
| if all(check): | |
| print("I have enough resources, making you a coffee!") | |
| for i in range(4): | |
| self.inventory[i] -= proportion[i] | |
| self.inventory[4] += proportion[4] | |
| else: | |
| missing = [i for i, x in enumerate(check) if not x] | |
| ressource = ["water", "milk", "beans", "cups"] | |
| for i in missing: | |
| print(f"Sorry, not enough {ressource[i]}!") | |
| coffe_machine = CoffeMachine() | |
| while True: | |
| user_action = input("Write action (buy, fill, take, remaining, exit):") | |
| coffe_machine.menu(user_action) |
cyvax - 2026