Thank you everyone who responded, very fast responses I am impressed.

OK now I see where I went wrong and had to do


if (i == 'test1') or (i=='test2'):


I guess I was thinking if I do


a = ['test1', 'flag', 'monday']
for i in a:

It would check each item in the list one at a time like a loop I was
thinking, so the first time it would test for 'test1', and the second
time it would test for 'flag', did not realize it would test the
entire list all at once.





On Mon, Mar 14, 2011 at 4:00 PM, Marc Tompkins <marc.tompk...@gmail.com> wrote:
> On Mon, Mar 14, 2011 at 12:41 PM, Mike Franon <kongfra...@gmail.com> wrote:
>>
>> HI,
>>
>> I had a question, when running this small snippet of test code:
>>
>>
>>
>> a = ['test1', 'flag', 'monday']
>>
>> for i in a:
>>    if i == 'test1' or 'test2':
>>       print 'true'
>>
>>
>> It always prints true
>>
>>
>> $ ./testing.py
>> true
>> true
>> true
>>
>>
>> I know I am missing something, but in reality it should only print
>> true once correct?
>>
> No.  The string 'test2' (actually, ALL non-empty strings) evaluates to True,
> so your condition will always be met.
> Try this:
>>
>> if (i == 'test1') or (i == 'test2'):
>
> or:
>>
>> if i in ('test1', 'test2'):
>
>
>
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to