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