Tipo di dato booleano (bool)


# ============================================================
# ============================================================

# In Python, un valore booleano può essere solo:
# - True
# - False
#
# I booleani servono per prendere decisioni nel codice
# (condizioni, controlli, flusso logico).

# ============================================================
# 1. Valori booleani di base
# ============================================================

# Assegnazione diretta di valori booleani
is_open = True
is_closed = False
print(is_open)
print(is_closed)

# ============================================================
# 2. Operatori di confronto
# ============================================================

# Gli operatori di confronto restituiscono SEMPRE un booleano

# Uguale a ==
print(5 == 5)      # True
print(5 == 3)      # False

# Diverso da !=
print(5 != 3)      # True
print(5 != 5)      # False

# Maggiore e minore
print(10 > 5)      # True
print(3 < 1)       # False

# Maggiore o uguale / Minore o uguale
print(10 >= 10)    # True
print(5 <= 3)      # False

# ============================================================
# 3. Booleani con numeri (scenario supermercato)
# ============================================================

# Controllo scorte
milk_quantity = 12
low_stock_threshold = 10
low_stock = milk_quantity <= low_stock_threshold
print("Is milk low in stock?", low_stock)

# ============================================================
# 4. Booleani con prezzi e soglie
# ============================================================

# Controllo sconto
total_cost = 25.00
discountEligible = total_cost >= 20.00
print("Is the purchase eligible for a discount?", discountEligible)

# ============================================================
# 5. Booleani con stringhe
# ============================================================

# Confronto tra stringhe
product = "Milk"
print(product == "Milk")     # True
print(product == "Bread")    # False

# ============================================================
# 6. Uso tipico dei booleani (anteprima)
# ============================================================

# I booleani sono spesso usati con if / else
# (verrà approfondito più avanti)

if discountEligible:
    print("Discount applied!")
else:
    print("No discount available.")

# ============================================================
# RIEPILOGO
# ============================================================

# ✔ Un booleano rappresenta una condizione vera o falsa
# ✔ Nasce spesso da un confronto
# ✔ È fondamentale per decisioni e logica del programma
# ✔ True e False sono parole chiave di Python