Dikinz
Ноя. 27, 2018 17:56:01
Написать функцию arithmetic, принимающую 3 аргумента: первые 2 - числа, третий - операция, которая должна быть произведена над ними. Если третий аргумент +, сложить их; если —, то вычесть; * — умножить; / — разделить (первое на второе). В остальных случаях вернуть строку “Неизвестная операция”.
Видел множество вариантов решения, но ни один из не предусматривал использование самой функции “def arithmetic”. По этому обращаюсь за помощью к знающим и ведающим специалистам и любителям python . )
Все чего я достиг в этом деле, предоставляю:
def arithmetic (x, y, z):
x = int(input(“Введите первое число : ”))
y = int(input(“Введите второе чиcло : ”))
z = input(“Введите знак (+, - ) : ”)
if z == “ + ” :
return (x + y)
elif z == “ - ”:
return (x - y)
elif z == “ * ”:
return (x * y)
elif z == “ / ”:
return (x / y)
else :
return (“Invalid operation”)
print (arithmetic(x, y, z))
Буду рад любым советам и комментариям. Заранее спасибо.
PEHDOM
Ноя. 27, 2018 18:02:44
Dikinzx = int(input(“Введите первое число : ”))
y = int(input(“Введите второе чиcло : ”))
z = input(“Введите знак (+, - ) : ”)
в самой функции лишние, оно должно работать както так:
def arithmetic (x, y, z):
if z == "+" :
return (x + y)
elif z == "-":
return (x - y)
elif z == "*":
return (x * y)
elif z == "/":
return (x / y)
else :
return ("Invalid operation")
print (arithmetic(2, 3, '+'))
print (arithmetic(2, 2, '*'))
print (arithmetic(4, 2, '-'))
print (arithmetic(4, 2, '/'))
print (arithmetic(4, 2, 0))
>>>
5
4
2
2.0
Invalid operation
>>>
Dikinz
Ноя. 27, 2018 18:20:24
PEHDOM
Dikinz
Спасибо большое за помощь. Не думал что данные чисел придётся вводить заранее.
PEHDOM
Ноя. 27, 2018 20:53:41
Dikinz
Не думал что данные чисел придётся вводить заранее.
это только пример, дальше можешь организовать ввод с клавиатуры, можешь из спинбокса, а можешь еще както, тоесть все эти input-ы долны быть вне функции,
например так
def arithmetic (x, y, z):
if z == "+" :
............
else :
return ("Invalid operation")
x = int(input('Введите первое число : '))
y = int(input('Введите второе чиcло : '))
z = input('Введите знак (+, - ) : ')
print (arithmetic(x, y, z))
иначе какой смысл передавать в функцию агрументы?
Dikinz
Ноя. 28, 2018 12:23:50
PEHDOM
Понял, с этой задачей разобрался. Так хотя бы понятнее как все это выглядит. Насчёт аргументов буду знать ибо не всегда все можно черпнуть из теоретического материала.

Благодарен, за помощь!