just wondering how I can create two different python files one being main.py and the other being volume.py that creates the same output as the code being in a singular file.
My code is
def cubeVolume() :
    sideLength = float(input('What is the length of one side of the cube?: '))
    volume = sideLength ** 3
    cubeVolumeList.append(round(volume, 1))     # Adds the rounded volume to the given list
    cubeVolumeList.sort()
    print('\nThe volume of a cube with a side length of %.1f is %.1f' % (round(sideLength, 1), round(volume, 1)))
def pyramidVolume() :
    base = float(input('What is the base length of the pyramid?: '))
    height = float(input('What is the height of the pyramid?: '))
    volume = (1 / 3) * (base ** 2) * height
    pyramidVolumeList.append(round(volume, 1))
    pyramidVolumeList.sort()
    print('\nThe volume of a pyramid with a base length of %.1f and a height of %.1f is %.1f' % (round(base, 1), round(height, 1), round(volume, 1)))
def ellipsoidVolume() :
    from math import pi
    r1 = float(input('What is the value of radius 1?: '))       # r1: radius 1, r2: radius 2, etc.
    r2 = float(input('What is the value of radius 2?: '))
    r3 = float(input('What is the value of radius 3?: '))
    volume = (4 / 3) * pi * r1 * r2 * r3
    ellipsoidVolumeList.append(round(volume, 0))
    ellipsoidVolumeList.sort()
    print('\nThe volume of an ellipsoid with a radius 1 of %.1f, a radius 2 of %.1f, and a radius 3 of %.1f is %.1f' % (round(r1, 1), round(r2, 1), round(r3, 1), round(volume, 1)))
# Initialization of empty lists
cubeVolumeList = []
pyramidVolumeList = []
ellipsoidVolumeList = []
# Creating the main function to be called at the end of the program
def main() :
    shapeInput = (input('Please enter shape (quit/q, cube/c, pyramid/p, ellipsoid/e):')).lower()
    # Creation of validity loop
    valid = False
    while not valid :
        if shapeInput in ['c', 'cube']:
            cubeVolume()
            print()
            shapeInput = (input('Please enter shape (quit/q, cube/c, pyramid/p, ellipsoid/e):')).lower()
        elif shapeInput in ['p', 'pyramid']:
            pyramidVolume()
            print()
            shapeInput = (input('Please enter shape (quit/q, cube/c, pyramid/p, ellipsoid/e):')).lower()
        elif shapeInput in ['e', 'ellipsoid'] :
            ellipsoidVolume()
            print()
            shapeInput = (input('Please enter shape (quit/q, cube/c, pyramid/p, ellipsoid/e):')).lower()
        elif shapeInput in ['q' , 'quit'] :
            valid = True
        else :
            print('\nInvalid input! Please try again.')
            print()
            shapeInput = (input('Please enter shape (quit/q, cube/c, pyramid/p, ellipsoid/e):')).lower()
    # Output after user enters "quit"
    if len(cubeVolumeList) != 0 or len(pyramidVolumeList) != 0 or len(ellipsoidVolumeList) != 0 :
        print()
        print('You have come to the end of the session.')
        print('The volumes calculated for each shape are shown below.')
        print('cube: ', end = '')
        i = 0
        while i < len(cubeVolumeList) - 1 :
            print(str(cubeVolumeList[i]) + ',' + ' ', end = '')
            i = i + 1
        print(cubeVolumeList[len(cubeVolumeList) - 1])
        print('pyramid: ', end = '')
        i = 0
        while i < len(pyramidVolumeList) - 1 :
            print(str(pyramidVolumeList[i]) + ',' + ' ', end = '')
            i = i + 1
        print(pyramidVolumeList[len(pyramidVolumeList) - 1])
        print('ellipsoid: ', end = '')
        i = 0
        while i < len(ellipsoidVolumeList) - 1 :
            print(str(ellipsoidVolumeList[i]) + ',' + ' ', end = '')
            i = i + 1
        print(ellipsoidVolumeList[len(ellipsoidVolumeList) - 1])
    else :
        print('\nYou have come to the end of the session.')
        print('You did not perform any volume calculations')
main()  # Calling the main function
But I want to separate the volume part and the main part into two different files, I tried splitting it and importing volume.py onto main.py but I'm getting an error saying 'cubeVolume' is not defined. Help would be appriciated.
 
     
    