#python #function #module
#python #функция #модуль
Вопрос:
совершенно новый для Python, использующий вводный класс. У меня возникли проблемы с пониманием того, как заставить модуль получать возвращаемое значение из функции и использовать его для выполнения вычислений.
В этом примере я получаю «размер» радиуса окружности от пользователя, затем модуль geometry должен принять размер, вычислить длину окружности и передать его обратно в файл проекта для отображения.
Хотя, что бы я ни пробовал, переменная «size» не может быть распознана модулем geometry. «Ошибка имени: имя ‘size’ не определено»
Основной файл проекта:
import geometry
def main():
size, unit = getUserInput()
displayCircleResults(geometry.circleCircum, geometry.circleArea)
def getUserInput():
size = float(input('Enter length of radius: '))
unit = input('Enter unit of measure, e/g., inches: ')
return size, unit
geometry.py модуль:
def main():
radius = circleCircum(size)
def circleCircum():
return math.pi * size**2
Как заставить модуль принимать возвращаемые значения из другого файла?
Спасибо!
Ответ №1:
Вы не вызывали эту функцию. За именем функции следуют круглые скобки. Вы использовали circleCircum и circleArea так, как если бы они были скалярными атрибутами (переменными).
Кроме того, переменные, о которых идет речь, являются локальными для их пакетов: main и geometry. Размер в вашей основной программе не имеет ничего общего с локальной переменной в geometry. Вы должны передать значение, как и в случае с любой другой функцией.
Несколько двигаясь в этом направлении …
displayCircleResults(geometry.circleCircum(size), geometry.circleArea(size))
...
def circleCircum(size):
return math.pi * size**2
Я не совсем уверен, как вы ожидаете, что geometry.main() будет работать, но вы не дали ему никакой связи с внешним миром. размер не передается, а radius никуда не отправляется.