Python Forum
Vowels and Consonants detector
Thread Rating:
  • 2 Vote(s) - 2 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Vowels and Consonants detector
#1
Objective is: to print True when it's a vowel, and False when it's a consonant, WITHOUT using if conditions.

vowels = ['o', 'i', 'y', 'e', 'a','u']
consonants =['b, c, d, f, g, h, j, k, l, m ,n ,p, q, r, s, t, v, w, x, z']

def is_vowel(c):
    for character in vowels:
        print(True)
    for character in consonants:
        print(False)

is_vowel('banana')
Here's what I got when I executed the program:

True
True
True
True
True
True
False
This is obviously false because I should get False True False True False True.
Any help?
Reply
#2
execute

vowels = ['o', 'i', 'y', 'e', 'a','u']
consonants =['b, c, d, f, g, h, j, k, l, m ,n ,p, q, r, s, t, v, w, x, z']
 
def is_vowel(c):
    for character in vowels:
        print(character, True)
    for character in consonants:
        print(character, False)
 
is_vowel('banana')
this will help to see what your script ACTUALLY does
(Sep-21-2017, 09:57 AM)OmarSinno Wrote: Objective is: to print True when it's a vowel, and False when it's a consonant, WITHOUT using if conditions.

vowels = ['o', 'i', 'y', 'e', 'a','u']
consonants =['b, c, d, f, g, h, j, k, l, m ,n ,p, q, r, s, t, v, w, x, z']

def is_vowel(c):
for character in vowels:
print(True)
for character in consonants:
print(False)

is_vowel('banana')
Here's what I got when I executed the program:

True
True
True
True
True
True
False
This is obviously false because I should get False True False True False True.
Any help?
Reply
#3
You are not using "c" which is passed into the function is_vowel()
Reply
#4
You have an argument "c" that you pass to the function is_vowel, but where/how do you use it?
Also, compare how you have defined vowels and consonants lists (or what they contain rather).
Reply
#5
Isn't c the string that is supposed to be called later on in the code?

def is_vowel(c):
    for character in c:
        print(character, True)
    for character in c:
        print(character, False)
I adjusted it to this code, still giving me the same results.


I have realized that when it's finding a vowel, it is printing True 6 times, which is the length of the string 'banana'. Same thing goes for when it finds a consonant.
Unlike this code:

def is_vowel2(c):
    for character in c: #The Character in the word defined by the letter "c"
        if character in vowels: #If this character is in the list "vowels"
            print(True) #The statement is then a vowel, which is true!
        else: #If not, or if else
            print(False) #The statement is false, then it is a consonant!
Fortunately, I have to do it both ways (using if conditionals and without using them) so I can actually study both. Help?
Reply
#6
vowels = ['o', 'i', 'y', 'e', 'a','u']
def is_vowel2(my_word):
    for character in my_word: #The Character in the word defined by the letter "c"
        print (character in vowels) #If this character is in the list "vowels" print True, else will print False
is_vowel('banana')
or

vowels = ['o', 'i', 'y', 'e', 'a','u']
def is_vowel(c):
    return c in vowels #If this character is in the list "vowels" print True, else will print False
for character in 'banana':
    print(is_vowel2(character))
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Prime number detector Mark17 5 802 Nov-27-2023, 12:53 PM
Last Post: deanhystad
  remove vowels in word with conditional ambrozote 12 4,096 May-02-2021, 06:57 PM
Last Post: perfringo
  Face detector project? korenron 2 2,104 Mar-24-2021, 03:43 PM
Last Post: korenron
  counting vowels in a string project_science 3 2,561 Dec-30-2020, 06:44 PM
Last Post: buran
  qrcode detector not in cv2 Pedroski55 2 5,129 Sep-16-2020, 03:22 AM
Last Post: Pedroski55
  Counting vowels in a string (PyBite #106) Drone4four 4 2,245 Jul-07-2020, 05:29 AM
Last Post: theknowshares
  Smoke detector + send email Brandon99 4 3,949 Sep-12-2018, 11:18 PM
Last Post: Brandon99
  no vowels function alex_bgtv 6 5,057 Jan-01-2018, 08:48 PM
Last Post: alex_bgtv
  replace vowels niru 9 20,720 Sep-26-2017, 12:46 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020