CCing Tutor list.
 
here are the entire code 
>
>
>import sys
>in_file = open(sys.argv[1], 'r').readlines()
>locus = ''
>accession = ''
>organism = ''
>
>OK, as suspected you initialise these to empty strings so they almost 
>certainly 
are being printed they just don't contain anything. Its easilyy proved by 
making 
the initial value something visible like a dash '-'... say

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.
>
>
>
>why is that?Because the Python 'if' test treats any number other than zero as 
>True.
And the string find() method returns the index at which the string is 
found or -1. So the only time you get zero(False) is if the string starts 
on the first character. If the string is missing you get a -1 which is 
considered True

When you added the >=0 you eliminated the cases where find() 
returned -1, ie where the string was not found and so you checked 
the other search cases.

-- 
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