On 02/06/2013 08:44 AM, Mara Kelly 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!




Please don't post in html email. It can seriously mess up your columns. In your case, your email program didn't even try to provide a text version, so those of us who read text emails can't make much sense of it.

Fortunately, I can decipher it by using someone else's reply. I quote that below:

>
def password(y):
>     vowels=["a","e","i","o"]

You might want to include "u" in that list. And maybe the uppercase versions as well.

>     if y[0] in vowels:
>         return False
>     if len(y) ==0:
>         return True
>     elif(y[len(y)-1] != vowels):

No, you want if y[-1] in vowels: instead. A string is never going to be equal to a list.

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


I presume that making the function recursive was an explicit part of the assignment.

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

Reply via email to