How To Let Python Recognize Both Lower And Uppercase Input?
Solution 1:
Convert the word entirely to lowercase (or uppercase) first:
word = input("Please Enter a word:").lower() # Or `.upper()`
Also, to get the first letter of your word, use word[0]
, not word[1]
. Lists are zero-indexed in Python and almost all programming languages.
You can also condense your code by quite a bit:
word = input("Please Enter a word:")
if word[0].lower() in'aeiou':
print("The word begins with a vowel")
else:
print("The word do not begin with a vowel")
Solution 2:
Usually you would use str.lower()
(or str.upper()
) on the input to normalise it.
Python3.3 has a new method called str.casefold()
which works properly for unicode
Solution 3:
You could convert the input to upper case before comparing.
Solution 4:
The check for vowels is done using str.startswith which can accept a tuple of multiple values. PEP 8 Style Guide for Python Code recommends the use of startswith with over string slicing for better readability of code:
Use ''.startswith() and ''.endswith() instead of string slicing to check for prefixes or suffixes.
Conditional Expressions are used to set the message indicating whether the word starts with a vowel or not. Then I used the String Formatting method to prepare the message. Also just as a English grammar correction thing I replaced the sentence "The word do not begin with a vowel" with "The word does not begin with a vowel".
word = input("Please Enter a word:")
is_vowel = 'does'if word.lower().startswith(tuple('aeiou')) else'does not'print("The word {} begin with a vowel".format(is_vowel))
Solution 5:
You should use:
word[i] in'AEIOUaeiou'
Post a Comment for "How To Let Python Recognize Both Lower And Uppercase Input?"