How to check if a word is all uppercase or lowercase or capitalized in Python

1 Answer

0 votes
def verify_all_upper_or_all_lower_or_is_capitalized(word: str) -> bool:
    upper = sum(1 for ch in word if ch.isupper())
    lower = sum(1 for ch in word if ch.islower())

    # Case 1: all lowercase
    if upper == 0:
        return True

    # Case 2: all uppercase
    if lower == 0:
        return True

    # Case 3: capitalized (only first letter uppercase)
    if upper == 1 and word[0].isupper():
        return True

    # Otherwise, mixed casing
    return False


def run_test(word: str) -> None:
    print(f'Testing word: "{word}"')

    if verify_all_upper_or_all_lower_or_is_capitalized(word):
        print("OK\n")
    else:
        print("Error\n")


run_test("PROGRAMMING") 
run_test("programming")
run_test("Programming")
run_test("ProGramMing")



'''
run:

Testing word: "PROGRAMMING"
OK

Testing word: "programming"
OK

Testing word: "Programming"
OK

Testing word: "ProGramMing"
Error

'''

 



answered Oct 27 by avibootz
...