• Предмет: Информатика
  • Автор: larazzq
  • Вопрос задан 3 месяца назад

Створити функцію, яка приймає 2 числа і знак і повертає результат в залежності від знаку. Я пробувала на ChatGPT але воно якусь фігню кидає

Ответы

Ответ дал: janshan2008
0

Відповідь:

Ось функція, яка приймає 2 числа і знак і повертає результат в залежності від знаку:

```python

def operation(a, b, sign):

"""

Повертає результат операції над двома числами в залежності від знака.

Параметри:

a: Перше число.

b: Друге число.

sign: Знак операції.

Повертає:

Результат операції.

"""

if sign == "+":

return a + b

elif sign == "-":

return a - b

elif sign == "*":

return a * b

elif sign == "/":

return a / b

else:

raise ValueError("Невідомий знак операції")

```

Наприклад, якщо ми викликаємо функцію так:

```python

a = 10

b = 5

sign = "+"

print(operation(a, b, sign))

```

То функція поверне результат 15, оскільки 10 + 5 = 15.

Ось ще один варіант реалізації цієї функції:

```python

def operation(a, b, sign):

"""

Повертає результат операції над двома числами в залежності від знака.

Параметри:

a: Перше число.

b: Друге число.

sign: Знак операції.

Повертає:

Результат операції.

"""

operations = {

"+": lambda a, b: a + b,

"-": lambda a, b: a - b,

"*": lambda a, b: a * b,

"/": lambda a, b: a / b,

}

return operations[sign](a, b)

```

Цей варіант реалізації більш лаконічним, оскільки використовує словник для зберігання функцій, відповідальних за виконання різних операцій.

Ось повний код:

def operation(x, y, sign):

"""

Функція, яка приймає 2 числа і знак і повертає результат в залежності від знаку.

Аргументи:

x: перше число

y: друге число

sign: знак операції

Повертає:

Результат операції

"""

if sign == "+":

return x + y

elif sign == "-":

return x - y

elif sign == "*":

return x * y

elif sign == "/":

return x / y

else:

raise ValueError("Невідомий знак операції")

if __name__ == "__main__":

x = 10

y = 5

sign = "*"

print(operation(x, y, sign))


larazzq: Це не працює
Вас заинтересует