Forum
>>
Principianti
>>
Negozio
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da vale_42155 |
2024-05-15 15:19:36 - Negozio
|
Salve,
se qualcuno può aiutarmi a sbloccare alcune cose al codice che ho allegato. Registrare nuovi prodotti, con nome, quantità, prezzo di vendita e prezzo di acquisto. Elencare tutti i prodotti presenti. Registrare le vendite effettuate. Mostrare i profitti lordi e netti. Mostrare un menu di aiuto con tutti i comandi disponibili. Il software è testuale, quindi utilizzabile da riga di comando. Il codice deve: 1) Aggiungere nuovi prodotti al negozio: - latte, 20 quantità, 0.80 prezzo di vendita, 1.40 prezzo di acquisto - tofu, 10 quantità, 2.2 prezzo di vendita, 4.19 prezzo di acquisto - seitan, 5 quantità, 3 prezzo di vendita, 5.49 prezzo di acquisto 2) Vedere l'elenco: latte 20 1.40 tofu 10 4.19 seitan 5 5.49 3) Vendere prodotti nome: latte quantità: 5 Aggiungi un altro prodotto? SI nome: tofu quantità: 2 Aggiungi un altro prodotto? NO 4) Vendita Registrata: - 5 x latte 1.40 - 2 x tofu 4.19 Totale = €15.38 Aggiungi un altro prodotto? NO 1° Problema -> Mi chiede di aggiungere un altro prodotto nonostante io ho scritto NO sulla linea di comando. 5) Elenco - latte 15 1.40 - tofu 8 4.19 - seitan 5 5.49 6) Vendi nome: seitan quantità: 5 Aggiungi un altro prodotto? NO 7) Vendita Registrata: - 5 x seitan 5.49 Totale = €27.45 2° Problema -> Nel punto 9, quando vedo l'elenco dei prodotti mi viene visualizzato: - 5 x latte 1.40 - 2 x tofu 4.19 - 5 x seitan 5.49 Totale = €42.83 Quando io voglio visualizzare solo "seitan" con l'importo totale della vendita di seitan. Elenco: - latte 15 1.40 - tofu 8 4.19 9) mostra i profitti: 3° Problema -> Avendo cancellato il seitan questo metodo non funziona. Quello che mi aspetto di vedere è: lordo: 42,83 € netto: 19,43 € Qualcuno può aiutarmi? Ciao Valentina |
|
Scritto da nuzzopippo |
2024-05-16 12:00:30 - Re: Negozio
|
L'output da Te esposto NON PUÒ essere prodotto dal codice che hai allegato, quindi, che cosa stai effettivamente chiedendo?
Fatti non foste a viver come bruti... |
|
Scritto da vale_42155 |
2024-05-16 12:15:03 - Re: Negozio
|
Se fa partire il progetto che ho allegando su pycharm o prompt dei comandi, all'utente verrà chiesto di inserire questi prodotti e vedrà che quello che sto dicendo le sembrerà tutto più chiaro.
|
|
Scritto da nuzzopippo |
2024-05-16 13:15:14 - Re: Negozio
|
Lo avevo già visto e risolto i problemi esposti prima della mia risposta, mi chiedevo/chiedo però lo scopo di quel codice, suppongo sia un esercizio, in tal caso Ti avrei spiegato i punti critici e lasciato a te la soluzione ... dato che mi dici di eseguirlo, Ok, eccoti la soluzione, trova i Tuoi perché
class VeganProducts: def __init__(self): self.products = {} # Dictionary for storing products {product name: [quantity, purchase price, sale price]} self.sales = [] # List for recording sales [product name, quantity sold] def add_product(self, name, quantity, purchase_price, selling_price): if quantity < 0 or purchase_price < 0 or selling_price < 0: raise ValueError("The quantity, purchase price and selling price must be positive.") if name in self.products: self.products[name][0] += quantity else: self.products[name] = [quantity, purchase_price, selling_price] def list_products(self): print("Products available in the shop:") for name, details in self.products.items(): print(f"{name} {details[0]} €{details[2]}") def register_sale(self): response = 'Y' vendita = [] while response.upper() == 'Y': name = input("Enter the product name: ") quantity = int(input("Enter the available quantity: ")) if name in self.products: if self.products[name][0] >= quantity: self.products[name][0] -= quantity vendita.append([name, quantity]) else: print(f'Quantità eccessiva, disponibile {self.products[name][0]}') else: print(f'{name} : prodotto non disponibile.') response = input("Do you want to add a new product to sell? \n Press Y or N: ") print('VENDITA REGISTRATA') total_price = 0 for name, quantity in vendita: total_price += self.products[name][2] * quantity print(f"{quantity} X {name} : € {self.products[name][2]}") print(f"Totale € {total_price}") self.sales += vendita def show_profits(self): gross_profits = 0 net_profits = 0 for sale in self.sales: selling_price = self.products[sale[0]][2] costo = self.products[sale[0]][1] gross_profits += selling_price * sale[1] net_profits += selling_price * sale[1] - costo * sale[1] print(f"Gross profits: {gross_profits}") print(f"Net profits:: {net_profits}") def show_help_menu(self): print("Available commands:") print("1. Add product") print("2. Product list") print("3. Record sale") print("4. Help") print("5. Profits") print("0. Close") def exit(self): print("Exiting the program.") exit() def main(): store = VeganProducts() store.show_help_menu() while True: choice = input("Enter the number corresponding to the desired action: ") if choice == "1": try: name = input("Enter the product name: ") quantity = int(input("Enter the available quantity: ")) purchase_price = float(input("Enter the purchase price: ")) selling_price = float(input("Enter the sales price: ")) store.add_product(name, quantity, purchase_price, selling_price) except ValueError as e: print(e) elif choice == "2": store.list_products() elif choice == "3": store.register_sale() elif choice == "4": store.show_help_menu() elif choice == "5": store.show_profits() elif choice == "0": break else: print("Invalid choice. Try again.") if __name__ == "__main__": main() Fatti non foste a viver come bruti... |
Pagina: 1
Esegui il login per scrivere una risposta.