[Tutor] conditional execution

spir denis.spir at gmail.com
Wed Apr 2 09:18:16 CEST 2014


On 04/01/2014 06:24 PM, Zachary Ware wrote:
> Hi Patti,
>
> On Tue, Apr 1, 2014 at 11:07 AM, Patti Scott <pscott_74 at yahoo.com> wrote:
>> I've been cheating:  comment out the conditional statement and adjust the
>> indents. But, how do I make my program run with if __name__ == 'main':
>> main() at the end?  I thought I understood the idea to run a module called
>> directly but not a module imported.  My program isn't running, though.
>
> The simple fix to get you going is to change your ``if __name__ ==
> 'main':`` statement to ``if __name__ == '__main__':`` (add two
> underscores on each side of "main").  To debug this for yourself, try
> putting ``print(__name__)`` right before your ``if __name__ ...``
> line, and see what is printed when you run it in different ways.
>
> Hope this helps, and if you need any more help or a more in-depth
> explanation of what's going on, please don't hesitate to ask :)

And you don't even need this idiom if your module is only to be executed (not 
imported). Just write "main()".

d


More information about the Tutor mailing list