Я пытаюсь настроить калькулятор математического уравнения.Он рассчитывает площадь / периметр 2D-фигур, объем / площадь поверхности 3D-фигур и так далее.Я пытаюсь сделать это, создав новый файл Python для каждого раздела, чтобы у меня не было одного большого файла.
Проблема в том, что всякий раз, когда я пытаюсь импортировать другие файлы (всев той же папке) в один файл главного меню, если я пытаюсь вызвать функцию из одного из файлов, я получаю ошибку атрибута, говорящую о том, что импортированный мной «модуль» не имеет функции, которую я только что импортировал.
AttributeError: модуль 'TwoDShapeMenu' не имеет атрибута 'twodshapes'
Я попытался создать функцию, которая импортирует файл только при вызове, однако я все еще получаю ту же ошибку, я не знаю, чтоеще сделать ...
Я импортировал два файла, которые я создал до сих пор в верхней части основного файла программы, все еще та же ошибка.
Я пытался кодировать его таким образомчто два файла импортируются только тогда, когда опция выбрана в операторе IF.
Я понятия не имею, что делать.
Основной файл
def main():
print(
"Please choose something from the list below: \n 1.Area/Perimeter of 2D Shapes \n 2.Volume/Surface area of 3D Shapes \n ")
answer = input()
if answer == "1":
import TwoDShapeMenu
TwoDShapeMenu.twodshapes()
if answer == "2":
import ThreeDShapeMenu
ThreeDShapeMenu.threedshapes()
else:
while answer != "1" or "2":
print("Please choose one of the options")
main()
TwoDShapeMenu.пи
import math
import MainProgram
previousfunction = ""
def twodshapes():
answer = input("Enter the number of the shape area you want to calculate: \n 1.Triangle \n 2.Trapezium \n 3.Square \n 4.Rectangle \n 5.Parallelogram \n 6.Rhombus/Kite/Diamond \n 7.Circle \n 8.Oval \n")
answer = answer.upper()
#It then follows through all the options, then I created another function that returns me to the main menu of the main file.
def postdecision(previousfunction):
print("Input 1 if you would like to calculate the area/perimeter of this shape again")
print("Input 2 if you would like to return to the 2D shape menu")
print("Input 3 if you would like to return to the main menu")
print("Input 4 if you would like to exit the program")
answer = input()
#Option 3 looks like this
if answer == "3":
MainProgram.main()
я ваОжидает, что файлы будут импортированы без каких-либо проблем, но это не так, вместо этого он выдает ошибку атрибута:
AttributeError: модуль 'TwoDShapeMenu' не имеет атрибута 'twodshapes'