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... | |
| Scritto da holeioonline  | 2025-07-29 10:57:50 - Re: Negozio | 
Pagina: 1
Esegui il login per scrivere una risposta.
 
   
