Posts: 28 Threads: 16 Joined: Sep 2017 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? Posts: 8,198 Threads: 162 Joined: Sep 2016 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? Posts: 33 Threads: 2 Joined: Aug 2017 You are not using "c" which is passed into the function is_vowel() Posts: 1,150 Threads: 42 Joined: Sep 2016 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). Posts: 28 Threads: 16 Joined: Sep 2017 Sep-21-2017, 12:54 PM (This post was last modified: Sep-21-2017, 12:55 PM by OmarSinno.) 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? Posts: 8,198 Threads: 162 Joined: Sep 2016 Sep-21-2017, 02:27 PM (This post was last modified: Sep-21-2017, 02:29 PM by buran.) 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)) |