[Tutor] recursive function password check

Simon Yan simonyan at fedoraproject.org
Wed Feb 6 15:10:40 CET 2013

On Wed, Feb 6, 2013 at 9:44 PM, Mara Kelly <schooluse1992 at yahoo.com> wrote:

> Hi everyone, trying to write a program that has the user enter a password,
> checks if it contains any vowels, and if it does prints ' It is false that
> password(whatever the user enters) has no vowels,' and if it has no vowels
> prints it is True that password has no vowels...
> Here is what I have so far...
> def password(y):
>     vowels=["a","e","i","o"]
>     if y[0] in vowels:
>         return False
>     if len(y) ==0:
>         return True
>     elif(y[len(y)-1] != vowels):
>         return False
>     else:
>         return password(y[1:len(y)-1])
> x=input("Enter a password:")
> print("It is", password(x),"that",x,"has no vowles")
> As of now it just asks for the password, and then prints 'It is False that
> password(whatever was entered) has no vowles' for any word I enter. I think
> maybe some of my if statement conditions may be being returned to the
> function, but then not printing the appropriate one? Can anyone help?
> Thanks!
It appears that the issue is from this:

elif(y[len(y)-1] != vowels):

This condition will be true because you are comparing a string with a list.
Thus causing passwrod() returning False.

> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor

YeeYaa (Simon Yan)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20130206/b66d1e01/attachment-0001.html>

More information about the Tutor mailing list