Convert a user input string to lowercase in Python

avatar

Borislav Hadzhiev

Last updated: Aug 26, 2022

banner

Photo from Unsplash

Convert user input string to lowercase in Python #

Use the str.lower() method to convert a user input string to lowercase, e.g. lowercased = user_input.lower(). The str.lower() method returns a copy of the string with all the cased characters converted to lowercase.

main.py
user_input = input('Do you like pizza (yes/no): ') if user_input.lower() == 'yes': print('user typed yes') elif user_input.lower() == 'no': print('user typed no') else: print('Type yes or no') # 👇️ use lowercase method to convert to lowercase lowercase = user_input.lower() print(lowercase) # 👉️ yes # 👇️ use capitalize method to uppercase first letter and lowercase rest capitalized = user_input.capitalize() print(capitalized) # 👉️ Yes

convert user input lowercase

We used the input() function to take input from the user.

The input function takes an optional prompt argument and writes it to standard output without a trailing newline.

The str.lower method returns a copy of the string with all the cased characters converted to lowercase.

main.py
print('YES'.lower()) # 👉️ yes print('YES'.capitalize()) # 👉️ Yes print('yes'.upper()) # 👉️ YES

The method doesn't change the original string, it returns a new string. Strings are immutable in Python.

If you need to convert the first letter in the string to uppercase and the rest to lowercase, use the str.capitalize() method.

The str.capitalize function returns a copy of the string with the first character capitalized and the rest lowercased.

If you need to check if the user entered one of multiple values, use the in operator.

main.py
user_input = input('Do you like pizza (yes/no): ') yes_choices = ['yes', 'y'] no_choices = ['no', 'n'] if user_input.lower() in yes_choices: print('user typed yes') elif user_input.lower() in no_choices: print('user typed no') else: print('Type yes or no')

input lowercase check if one of multiple

We used the in operator to check if the input value is either of the items in the list.

The in operator tests for membership. For example, x in l evaluates to True if x is a member of l, otherwise, it evaluates to False.

If you only want to allow the user to enter specific values, use a while loop.

main.py
yes_choices = ['yes', 'y'] no_choices = ['no', 'n'] while True: user_input = input('Do you like pizza (yes/no): ') if user_input.lower() in yes_choices: print('user typed yes') break elif user_input.lower() in no_choices: print('user typed no') break else: print('Type yes or no') continue

We used a while loop to only allow the user to answer yes, y, no or n.

If the if block runs, we print a message and use the break statement to exit out of the loop.

The break statement breaks out of the innermost enclosing for or while loop.

If the user entered an invalid value, the else block runs, where we use the continue statement to prompt the user again.

The continue statement continues with the next iteration of the loop.

When validating user input in a while loop, we use the continue statement when the input is invalid.

If the input is valid, we use the break statement to exit out of the while loop.

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.