Я реализовал для вас пример. Я добавил много комментариев к своему коду для лучшего понимания.
Код:
def converter(input_text):
"""
Returns the number of upper case letters, lower case letters, as well as
converting the string to Title Case.
:param input_text: Text from the user.
:return: number of upper case letters, lower case letters, Title Case string.
"""
upper_case_counter = lower_case_counter = 0 # Define the counters
for letter in input_text: # Get the letters one-by-one
if letter.isupper(): # True if the letter is upper case
upper_case_counter += 1 # Increment the upper counter
continue # Get the next letter
lower_case_counter += 1 # Increment the lower case counter (If the "if" statement is not True)
return upper_case_counter, lower_case_counter, input_text.title() # Return the upper, lower, title (In tuple type)
user_input = input("Please write your text: ") # Get the input from user
upper, lower, title = converter(user_input) # Unpacking the return value of "converter" function
print("Upper case letters number:{}\n"
"Lower case letters number: {}\n"
"Title text: {}".format(upper, lower, title)) # Print the result
Если вам нужно использовать x.islower()
, тогда вы можете это сделать вот так:
for letter in input_text: # Get the letters one-by-one
if letter.isupper(): # True if the letter is upper case
upper_case_counter += 1 # Increment the upper counter
elif letter.islower(): # True if the letter is lower case
lower_case_counter += 1 # Increment the lower case counter
Вывод:
>>> python3 test.py
Please write your text: This is my TExt
Upper case letters number:3
Lower case letters number: 12
Title text: This Is My Text