Форум сайта python.su
Написать функцию 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))
Буду рад любым советам и комментариям. Заранее спасибо.
Прикреплённый файлы: File 1.py (415 байт)
Офлайн
Dikinz
x = 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 >>>
[code python][/code]
Отредактировано PEHDOM (Ноя. 27, 2018 18:03:42)
Офлайн
PEHDOMСпасибо большое за помощь. Не думал что данные чисел придётся вводить заранее.
Dikinz
Офлайн
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))
[code python][/code]
Отредактировано PEHDOM (Ноя. 27, 2018 20:54:32)
Офлайн
PEHDOMПонял, с этой задачей разобрался. Так хотя бы понятнее как все это выглядит. Насчёт аргументов буду знать ибо не всегда все можно черпнуть из теоретического материала.
Офлайн