Найти - Пользователи
Полная версия: Памагите пожалуйста! Не могу понять код.
Начало » Python для новичков » Памагите пожалуйста! Не могу понять код.
1
Novichok_v_programmirovanii
Всем привет!
Заранее извиняюсь, если вопрос покажется глупым, но я только начал изучать основы программирования на языке python по книге:

Д. Ю. Федоров
ОСНОВЫ
ПРОГРАММИРОВАНИЯ
НА ПРИМЕРЕ ЯЗЫКА
PYTHON (2018)


Прохожу тему: “Создание собственных модулей”
В конце параграфа есть задача, которую необходимо решить:

“Найдите площадь треугольника с помощью формулы Герона. Стороны задаются с
клавиатуры. Реализовать вычисление площади в виде функции, на вход которой подаются
три числа, на выходе – площадь. Функция находится в отдельном модуле, где происходит
разделение между запуском и импортированием.”


Вот мой код:

 import math
def func(s):
    return math.sqrt(p*(p-a)*(p-b)*(p-c))
   
if __name__==('__main__'):
    a=int(input('Введите сторону а: '))
    b=int(input('Введите сторону б: '))
    c=int(input('Введите сторону с: '))
    p=1/2*(a+b+c)
    print('Площадь треугольника равна: ',func(s))

Вроде бы все реализовал по заданию, но проблема в том, что я не понимаю, как запустить функцию, то есть как заставить работать программу ! Когда я импортирую модуль, то он просто импортируется не выполняя код, а как именно запустить выполнение кода?
d-par
s = 0 пропиши после import math и заработает
у тебя идет функция от s, а s ничему не равно
xam1816
Novichok_v_programmirovanii
Реализовать вычисление площади в виде функции, на вход которой подаются три числа
Скажите,что для вас значит функция,что это такое?расскажите так как вы понимаете
py.user.next
  
>>> def triangle_area(a, b, c):
...     p = (a + b + c) / 2
...     return (p * (p - a) * (p - b) * (p - c)) ** 0.5
... 
>>> triangle_area(1, 1, (1 ** 2 + 1 ** 2) ** 0.5)
0.49999999999999983
>>> triangle_area(2, 2, (2 ** 2 + 2 ** 2) ** 0.5)
1.9999999999999993
>>>
Novichok_v_programmirovanii
d-par
s = 0 пропиши после import math и заработаету тебя идет функция от s, а s ничему не равно
удалил ненужный параметр s в func(s), он никаким образом не влиял на работу кода. Как видно на скриншорте функция работает исправно и вычисляет периметр и затем площать как надо, ТАМ Я ВЫДЕЛИЛ И УКАЗАЛ ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫЧИСЛЕНИЯ , но вопрос в другом: Как заставить работать модуль? то есть, я конечно могу убрать переменную “__name__”, (if __name__='__main__'): )отделяющий исполнение модуля от импортирование, тогда импортируя модуль, программа выполнит вычисления, но мне нужно по заданию отделить импортирование модуля от исполнения, и, что бы я мог вызвать исполнение функции, когда потребуется, не импортируя сам модуль повторно. Вот это мне нужно знать, как вызвать исполнение функции?
Novichok_v_programmirovanii
xam1816
удалил ненужный параметр s в func(s), он никаким образом не влиял на работу кода. Как видно на скриншорте функция работает исправно и вычисляет периметр и затем площать как надо, ТАМ Я ВЫДЕЛИЛ И УКАЗАЛ ПОСЛЕДОВАТЕЛЬНОСТЬ ВЫЧИСЛЕНИЯ , но вопрос в другом: Как заставить работать модуль? то есть, я конечно могу убрать переменную “__name__”, (if __name__='__main__'): )отделяющий исполнение модуля от импортирование, тогда импортируя модуль, программа выполнит вычисления, но мне нужно по заданию отделить импортирование модуля от исполнения, и, что бы я мог вызвать исполнение функции, когда потребуется, не импортируя сам модуль повторно. Вот это мне нужно знать, как вызвать исполнение функции?
Novichok_v_programmirovanii
py.user.next
Это вообще не то, что нужно.
xam1816
Novichok_v_programmirovanii
Это вообще не то, что нужно.
 def triangle_area(a, b, c):
	p = (a + b + c) / 2
	return (p * (p - a) * (p - b) * (p - c)) ** 0.5

Novichok_v_programmirovanii
Реализовать вычисление площади в виде функции, на вход которой подаются
три числа, на выходе – площадь.
 s = triangle_area(5,5,5)
print(s)

 10.825317547305483
Process finished with exit code 0

это как раз то,что нужно для части условия.
Может все-таки расскажете, что такое для вас функция?
Я тоже учусь,и мне интересно узнать ваше представление о функции
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB