Reputation: 831
I want to create something like this:
answer = input("What's your name?")
if answer == "Mike":
# code
if answer == "John":
# code
else:
# code
What I want to do is to write Mike
or MIKE
or mIke
... (and same with John
) and make all of that cases True
, but I don't know how to do that instead of using answer.lower()
, answer.upper()
...
Upvotes: 0
Views: 327
Reputation: 1947
If you need to re-invent the wheel, here you go:
def is_upper(letter):
return ord(letter) > 64 and ord(letter) < 91
def to_lower(word):
lowered = ""
for letter in list(word):
if is_upper(letter):
lowered += chr(ord(letter) + 32)
else:
lowered += letter
return lowered
print(to_lower("MIKE"))
# >>> mike
print(to_lower("MikE"))
# >>> mike
print(to_lower("mIKe"))
# >>> mike
Upvotes: 1
Reputation: 12672
How about do it manually by an easy list comprehension if don't use .lower()
or .upper()
?
def convert(s):
return "".join(i if 65 <= ord(i) <= 90 else chr(ord(i) - 32) for i in s)
answer = input("What's your name?")
if convert(answer) == convert("Mike"):
# code
Upvotes: 1