# Δεδομένα
menu = {
"Καφές": 2.5,
"Τσάι": 2.0,
"Σάντουιτς": 3.5,
"Χυμός": 2.8
}
στοκ = {
"Καφές": 10,
"Τσάι": 5,
"Σάντουιτς": 8,
"Χυμός": 6
}
πωλήσεις = {
"Καφές": 0,
"Τσάι": 0,
"Σάντουιτς": 0,
"Χυμός": 0
}
# === Υποπρογράμματα (λογική) ===
def εμφάνισε_μενού():
return [(π, menu[π], στοκ[π]) for π in menu]
def διαθέσιμο(προϊόν):
return στοκ.get(προϊόν, 0) > 0
def υπολόγισε_κόστος(παραγγελία):
return sum(menu[π] for π in παραγγελία)
def ενημέρωσε_στοκ(παραγγελία):
for π in παραγγελία:
στοκ[π] -= 1
def ενημέρωσε_πωλήσεις(παραγγελία):
for π in παραγγελία:
πωλήσεις[π] += 1
def υπολόγισε_τζίρο():
return sum(πωλήσεις[π] * menu[π] for π in menu)
def στατιστικά_πωλήσεων():
return {π: πωλήσεις[π] for π in πωλήσεις}
def απόδειξη(παραγγελία):
γραμμές = [f"{π}: {menu[π]:.2f} €" for π in παραγγελία]
σύνολο = υπολόγισε_κόστος(παραγγελία)
γραμμές.append(f"Σύνολο: {σύνολο:.2f} €")
return "\n".join(γραμμές)
# === Console App ===
def διαχείριση_console():
while True:
print("\nΜενού:")
for π, τιμή, υπόλοιπο in εμφάνισε_μενού():
print(f"- {π}: {τιμή:.2f} € ({υπόλοιπο} διαθέσιμα)")
παραγγελία = []
while True:
προϊόν = input("Πληκτρολόγησε προϊόν (ή 'τέλος'): ").strip()
if προϊόν.lower() == 'τέλος':
break
if προϊόν in menu:
if διαθέσιμο(προϊόν):
παραγγελία.append(προϊόν)
else:
print("Το προϊόν έχει εξαντληθεί.")
else:
print("Δεν υπάρχει στο μενού.")
if παραγγελία:
print("\n Απόδειξη:")
print(απόδειξη(παραγγελία))
ενημέρωσε_στοκ(παραγγελία)
ενημέρωσε_πωλήσεις(παραγγελία)
else:
print("Καμία παραγγελία.")
ενέργεια = input("\n[Ν]έα παραγγελία, [Σ]τατιστικά, [Ε]ξοδος: ").strip().lower()
if ενέργεια == 'σ':
print("\n Στατιστικά Πωλήσεων:")
for π, πλήθος in στατιστικά_πωλήσεων().items():
print(f"- {π}: {πλήθος} πωλήσεις")
print(f" Ημερήσιος Τζίρος: {υπολόγισε_τζίρο():.2f} €")
elif ενέργεια == 'ε':
break
if __name__ == "__main__":
διαχείριση_console()