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. - 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.

