On 25/08/2010 12:00, Roelof Wobben wrote:
Hello,
I have this programm :
def remove_letter(letter, strng):
"""
>>> remove_letter('a', 'apple')
'pple'
>>> remove_letter('a', 'banana')
'bnn'
>>> remove_letter('z', 'banana')
'banana'
>>> remove_letter('i', 'Mississippi')
'Msssspp'
"""
antwoord=""
for letter in strng:
print letter, strng
if letter in strng:
print "false"
else:
print "true"
return antwoord
x=remove_letter('a', 'apple')
print x
But now everything is false even a in apple.
What is here wrong ?
Roelof
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor
You're rebinding the variable `letter`.
It is an input variable for your function but then you use it as the
character store while iterating through your string variable `strng`.
What your control should look like would be more like
for character in strng:
if letter == character:
print 'false' # this should be true, it is a match just like in
your example
else:
print 'true'
I'm assuming this function is just for learning purposes because there's
a built-in string function you can use called replace and you'd use it
as such `'apple'.replace('a', '')`.
PS: Once you've gotten it to work convert it to a list comprehension,
they are incredibly useful and a great tool.
--
Kind Regards,
Christian Witts
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor