Помогите разобраться с областями видимости (LEGB)

customer — словарь с данными клиента следующего вида: {"name": "Dima"} или {"name": "Boris", "discount": 0.15} У вас есть глобальная переменная DEFAULT_DISCOUNT, которая определяет скидку для клиента, если у него нет поля discount. price = price * (1 - discount) Как мне из словаря взять значение discount?

DEFAULT_DISCOUNT = 0.05
    
    
    def get_discount_price_customer(price, customer):

Ответы (1 шт):

Автор решения: n1tr0xs

Чтобы обратиться к значению словарю достаточно использовать []:

customer = {"name": "Boris", "discount": 0.15}
print(customer['name']) # имя клиента
print(customer['discount']) # скидка клиента

В вашем случае, думаю нужно это:

DEFAULT_DISCOUNT = 0.05
customer = {"name": "Boris", "discount": 0.15}
def get_discount_price_customer(price, customer):
    return price*(1-customer.get('discount', DEFAULT_DISCOUNT))
→ Ссылка