<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def triangle_plots(self, basename=None, format='png', **kwargs):
 """Returns two triangle plots, one with physical params, one observational :param basename: If basename is provided, then plots will be saved as "[basename]_physical.[format]" and "[basename]_observed.[format]" :param format: Format in which to save figures (e.g., 'png' or 'pdf') :param **kwargs: Additional keyword arguments passed to :func:`StarModel.triangle` and :func:`StarModel.prop_triangle` :return: * Physical parameters triangle plot (mass, radius, Teff, feh, age, distance) * Observed properties triangle plot. """

        if self.fit_for_distance:
            fig1 = self.triangle(plot_datapoints=False,
                                 params=['mass','radius','Teff','logg','feh','age',
                                         'distance','AV'],
                                 **kwargs)
        else:
            fig1 = self.triangle(plot_datapoints=False,
                                 params=['mass','radius','Teff','feh','age'],
                                 **kwargs)
            

        if basename is not None:
            plt.savefig('{}_physical.{}'.format(basename,format))
            plt.close()
        fig2 = self.prop_triangle(**kwargs)
        if basename is not None:
            plt.savefig('{}_observed.{}'.format(basename,format))
            plt.close()
        return fig1, fig2