Farms

                Never    
class CollectiveFarm:

    def __init__(self, name):
        self.name = name
        self.species = []

class Specie:
    def __init__(self, name):
        self.name = name

# creating species
Species = {
    'Rye' : Specie('Rye'),
    'Teff' : Specie('Teff'),
    'Oat' : Specie('Oat'),
    'Rice' : Specie('Rice')
    }

# creating farms
Minsk = CollectiveFarm('Minsk')
Yobastan = CollectiveFarm('Yobastan')
Yoptastan = CollectiveFarm('Yoptastan')

# adding species
Minsk.species = [ Species['Rye'], Species['Teff'], Species['Oat'] ]
Yobastan.species = [ Species['Rye'], Species['Teff'], Species['Rice'] ]
Yoptastan.species = [ Species['Rye'], Species['Teff'] ]

# adding farms
Farms = [Minsk, Yobastan, Yoptastan] 

def main():
    common_species = Farms[0].species # init
    print('Farms: ')
    for farm in Farms:
        print(farm.name)
        common_species = set(common_species).intersection(farm.species)
    
    print('\n')
    print('Species:')
    for name, specie in Species.items():
        print(specie.name)
    
    print('\n')
    print('Common species:')
    for specie in common_species:
        print(specie.name)

    print('\n')
    farmname = input('Enter farm name to display species: ')
    farm = [_ for _ in Farms if _.name == farmname][0]
    for specie in farm.species:
        print(specie.name)

if __name__ == '__main__':
    main()

Raw Text