Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Объясните блока. I don't understand.

Мижган Зубенко Ученик (103), на голосовании 1 неделю назад
Def do_operation(a, b, operation): # принимает 3 аргумента
result = operation(a, b) # принимает 2 аргумента
print(f"result = {result}") # принимает 1 аргумент
do_operation(5, 4, lambda a, b: a + b) # result = 9
do_operation(5, 4, lambda a, b: a * b) # result = 20
Голосование за лучший ответ
картофельная залупа Профи (831) 1 месяц назад
это не похоже на Александра Блока
Celtic Hammer Мудрец (16538) 1 месяц назад
Это нерабочее. Работоспособность не придаст даже блоковское "Ночь, улица, фонарь, аптека"
°••°••°••°••°••°••°••°••°••° Гуру (2634) 1 месяц назад
В первой строчке объявляется функция do_operation, которая принимает 3 аргумента
Во второй строчке переменной result присваивается значение третьего агрумента, то есть предполагается, что 3-й аргумент у объявленной функции тоже функция, но уже с 2-я аргументами
В третьей строке вызывается функция print, которая выводит на экран f-строку. В этой строке значение переменной result.
Дальше просто вызывается объявленная функция. Я над ней еще поиздевался, мож понятнее станет
Jurijus Zaksas Искусственный Интеллект (446992) 1 месяц назад
Про лямбда-выражения можно почитать тут: https://www.w3schools.com/python/python_lambda.asp

Остальное тут абсолютно элементарно и понятно даже мне, хотя я в питоне мягко говоря не серпентолог...
Рустам Абдрашитов Мыслитель (9542) 1 месяц назад
 def do_operation(a, b, operation): 
try:
result = operation(a, b)
print(f"\nРезультат: {result}\n")
except Exception as e:
print(f"Произошла ошибка: {e}\n")

def add(a, b):
return a + b

def multiply(a, b):
return a * b

def get_number(prompt):
while True:
user_input = input(prompt)
if user_input.lower() == 'exit':
print("Выход из программы.")
exit()
try:
return float(user_input)
except ValueError:
print("Некорректный ввод. Пожалуйста, введите числовое значение.")

def show_menu():
print("\n--- Меню операций ---")
print("1: Сложение")
print("2: Умножение")
print("3: Выход")

def main():
while True:
print("\n--- Калькулятор ---")

a = get_number("Введите первое число (или 'exit' для выхода): ")
b = get_number("Введите второе число (или 'exit' для выхода): ")

show_menu()

choice = input("Выберите номер операции: ")

if choice == '1':
do_operation(a, b, add)
elif choice == '2':
do_operation(a, b, multiply)
elif choice == '3':
print("Выход из программы.")
break
else:
print("Некорректный выбор операции. Пожалуйста, попробуйте снова.")

if __name__ == "__main__":
main()
Похожие вопросы