On 10/02/14 15:32, rahmad akbar wrote:
hey again guys, i am trying to understand these statements,

if i do it like this, it will only print the 'print locus' part

for element in in_file:
   if element.find('LOCUS'):
     locus += element

The only time this is not executed is if LOCUS is at the
very start of the line. In *every* other case this will
be executed. Even if LOCUS is not in the element.

   elif element.find('ACCESSION'):
     accession += element
   elif element.find('ORGANISM'):
     organism += element

print locus
print accession
print organism

I assume by not printing you mean the other two print statements
don't print anything visible? Or are you actually getting an
error message?

Without seeing how accession and organism are defined its hard
to know why you are not seeing anything. The print statements
are not inside the loop so should always (all three) print something,even if the something is an empty string.

once i add >= 0 to each if conditions like so, the entire loop works and
prints the 3 items

for element in in_file:
   if element.find('LOCUS') >= 0:
     locus += element

This should always be executed unless LOCUS happens to be at the start of the line *or missing*. The greater than zero test eliminates the casers where LOCUS does not exist, in these cases it will move onto the next elif clause. Presumably thats why you now get 3 values printed. But that assumes you initialised the variables to empty strings at the start?

   elif element.find('ACCESSION') >= 0:
     accession += element
   elif element.find('ORGANISM') >= 0:
     organism += element

print locus
print accession
print organism

why without '>= 0' the loop doesnt works?

Can you show us some output? I don't really understand what
you mean by "doesn't work". Do you get any error messages?
Or is it just the lack of print outputs (that really have
nothing to do with the loop part)?


--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.flickr.com/photos/alangauldphotos

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor

Reply via email to