Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 27, 2018 17:56:01

Dikinz
Зарегистрирован: 2018-11-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением простейшей задачи по Python (чайнику).

Написать функцию 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))

Буду рад любым советам и комментариям. Заранее спасибо.

Прикреплённый файлы:
attachment File 1.py (415 байт)

Офлайн

#2 Ноя. 27, 2018 18:02:44

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с решением простейшей задачи по Python (чайнику).

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)

Офлайн

#3 Ноя. 27, 2018 18:20:24

Dikinz
Зарегистрирован: 2018-11-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением простейшей задачи по Python (чайнику).

PEHDOM
Dikinz
Спасибо большое за помощь. Не думал что данные чисел придётся вводить заранее.

Офлайн

#4 Ноя. 27, 2018 20:53:41

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Помогите с решением простейшей задачи по Python (чайнику).

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)

Офлайн

#5 Ноя. 28, 2018 12:23:50

Dikinz
Зарегистрирован: 2018-11-27
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с решением простейшей задачи по Python (чайнику).

PEHDOM
Понял, с этой задачей разобрался. Так хотя бы понятнее как все это выглядит. Насчёт аргументов буду знать ибо не всегда все можно черпнуть из теоретического материала. Благодарен, за помощь!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version