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