- Python Basic Programs
- Python Program Examples
- Python Print Hello World
- Python Get Input from User
- Python Add Two Numbers
- Add Subtract Multiply Divide
- Python Check Even or Odd
- Python Check Prime or Not
- Python Check Alphabet or Not
- Python Check Vowel or Not
- Python Check Leap Year or Not
- Check Reverse equal Original
- Check Positive Negative Zero
- Python Check Armstrong or Not
- Python Check Palindrome or Not
- Python Check Perfect Number
- Python Find Reverse of Number
- Python Count Digits in Number
- Python Add Digits of Number
- Sum of First and Last Digits
- Python Product of Mid Digits
- Sum of Squares of Digits
- Interchange Digits of Number
- Python Sum of n Numbers
- Python Print ASCII Values
- Python Swap Two Numbers
- Python Swap Two Variables
- Python Fahrenheit to Celsius
- Python Celsius to Fahrenheit
- Python Display Calendar
- Python Days into Years, Weeks
- Find Largest of Two Number
- Find Largest of Three Number
- Python Print Fibonacci Series
- Generate Armstrong Numbers
- Python Make Simple Calculator
- Python Add Binary Numbers
- Binary Number Multiplication
- Python Mathematical Programs
- Find Sum of Natural Numbers
- Find Average of n Numbers
- Python Print Multiplication Table
- Print Table using Recursion
- Python Find Average Percentage
- Python Find Grade of Student
- Find Square Root of Number
- Python Print Prime Numbers
- Find Numbers Divisible by
- Python Find Factors of Number
- Python Find Factorial of a Number
- Python Find HCF & LCM
- Python Kilometres to Miles
- Python Find Area of Square
- Python Find Area of Rectangle
- Python Find Area of Triangle
- Python Find Area of Circle
- Python Find Perimeter of Square
- Find Perimeter of Rectangle
- Python Find Perimeter of Triangle
- Find Circumference of Circle
- Python Simple Interest
- Python Solve Quadratic Equation
- Python Different Set of Operations
- Python Display Powers of 2
- Python Find nCr & nPr
- Python Pattern Programs
- Python Print Pattern Programs
- Python Print Diamond Pattern
- Python Print Floyd's Triangle
- Python Print Pascal's Triangle
- Python List Programs
- Python Count Even/Odd in List
- Python Positive/Negative in List
- Python Even Numbers in List
- Python Odd Numbers in List
- Python Sum of Elements in List
- Sum of Odd/Even Numbers
- Python Element at Even Position
- Python Element at Odd Position
- Python Search Element in List
- Python Largest Number in List
- Python Smallest Number in List
- Python Second Largest in List
- Python Second Smallest in List
- Python Insert Element in List
- Python Delete Element from List
- Python Multiply Numbers in List
- Swap Two Elements in List
- Python 1D Array Program
- Python Linear Search
- Python Binary Search
- Python Insertion Sort
- Python Bubble Sort
- Python Selection Sort
- Remove Duplicates from List
- Python Reverse a List
- Python Merge Two List
- Python Copy a List
- Python Conversion Programs
- Python Decimal to Binary
- Python Decimal to Octal
- Python Decimal to Hexadecimal
- Python Binary to Decimal
- Python Binary to Octal
- Python Binary to Hexadecimal
- Python Octal to Decimal
- Python Octal to Binary
- Python Octal to Hexadecimal
- Python Hexadecimal to Decimal
- Python Hexadecimal to Binary
- Python Hexadecimal to Octal
- Python Matrix Programs
- Python Add Two Matrices
- Python Subtract Two Matrices
- Python Transpose Matrix
- Python Multiply Matrices
- Python String Programs
- Python Print String
- Python Find Length of String
- Python Compare Two Strings
- Python Copy String
- Python Concatenate String
- Python Reverse a String
- Python Swap Two Strings
- Python Uppercase to Lowercase
- Python Lowercase to Uppercase
- Python Check Substring in String
- Python Count Character in String
- Count Repeated Characters
- Python Count Word in Sentence
- Python Count Each Vowels
- Python Capitalize Character
- Python Capitalize Word in String
- Python Smallest/Largest Word
- Remove Spaces from String
- Remove Duplicate Character
- Remove Vowels from String
- Remove Punctuation from String
- Python Remove Word in String
- Python Remove Duplicate Words
- WhiteSpace to Hyphens
- Replace Vowels with Character
- Replace Character in String
- Python Sort String in Alphabetical
- Sort Word in Alphabetical Order
- Extract Number from String
- Python Check Anagram Strings
- Python File Programs
- Python Read a File
- Python Write to File
- Python Append Text to File
- Python Copy Files
- Python Merge Two Files
- Python Counts Characters in File
- Python Count Words in File
- Python File Content in Reverse
- Python Lines Contains String
- Python Delete Line from File
- Python Capitalize Word in File
- Python Replace Text in File
- Replace Specific Line in File
- Python Find Size of File
- Python List Files in Directory
- Python Delete Files
- Python Misc Programs
- Python Reverse a Tuple
- Python Merge Two Dictionary
- Python bytes to String
- Python bytearray to String
- Generate Random Numbers
- Python Print Address of Variable
- Python Print Date and Time
- Python Get IP Address
- Python Shutdown/Restart PC
- Python Tutorial
- Python Tutorial
Python Program to Compare Two Strings
In this article, we've created some programs in Python to compare two strings entered by user at run-time. Here are the list of programs:
- Compare Two Strings in Character-by-Character manner
- Compare Two Strings using for loop
- Using list
- Using == operator
- Using function
- Using class
Compare Two Strings Character-by-Character
To compare two strings in Python, you have to ask from user to enter any two strings, then check whether the value of two strings are equal or not in character-by-character manner as shown in the program given below:
print("Enter the First String: ") strOne = input() print("Enter the Second String: ") strTwo = input() lenOne = len(strOne) lenTwo = len(strTwo) if lenOne==lenTwo: i = 0 chk = 0 while i<lenOne: if strOne[i] != strTwo[i]: chk = 1 break i = i+1 if chk==0: print("\nStrings are Equal") else: print("\nStrings are Not Equal") else: print("\nStrings are Not Equal")
Here is the sample run of above Python program to demonstrate its output. This is the initial output:
Now enter the first string say fresherearth and press ENTER
key, again enter the second
string say fresherearth and again press ENTER
key to compare two strings and print the message
whether both strings entered by user are equal or not as shown in the snapshot given below:
Here is another sample run with user input, codes as first and cracker as second string:
Previous Program Explained
The following two statements:
lenOne = len(strOne) lenTwo = len(strTwo)
is used to initialize the length of string stored in strOne to lenOne. Similarly, the length of second string gets initialized to lenTwo.
For example, if user enters first string as fresherearth and second string as same as first. Then the dry run of above program goes like:
- Through above two statements, lenOne=12 and lenTwo=12
- Now the condition, lenOne==lenTwo evaluates to be true, therefore program flow goes in the body of if block. There, i=0, chk=0. And the condition i<lenOne or 0<12 evaluates to be true, therefore program flow goes inside the while loop
- Inside the while loop, the condition strOne[i] != strTwo[i] or strOne[0] != strTwo[0] or c != c evaluates to be false, therefore program flow does not goes inside the if's block
- Therefore i+1 or 0+1 or 1 gets initialized to i. So i=1 and the condition i<lenOne again gets evaluated with new value of i. This time also the condition i<lenOne or 1<12 evaluates to be true, therefore program flow again goes inside the loop and compares the character at corresponding index of both strings
- If any mismatch found, then we've initialized 1 to chk and using break keyword, the execution of while loop gets terminated. In this way, after exiting from the loop, either when the condition of while loop evaluates to be false, or using break keyword, we've checked the value of chk
- That is, if it contains 0 then program flow never goes inside the if block (inside while loop). That means, no any mismatch found. Otherwise if it contains 1, means a mismatch found
- In this way, the string gets compared in character-by-character manner
Modified Version of Previous Program
This program uses end to skip printing of an automatic newline using print(). The str() method is used to convert any type of value to a string type. And \" is used to print ". Rest of the things are similar to previous program.
print("Enter Two Strings: ", end="") sOne = input() sTwo = input() sOne = str(sOne) sTwo = str(sTwo) lOne = len(sOne) lTwo = len(sTwo) if lOne==lTwo: i = 0 chk = 0 while i<lOne: if sOne[i] != sTwo[i]: chk = 1 break i = i+1 if chk==0: print("\n\"" +sOne+ "\" = \"" +sTwo+ "\"") else: print("\n\"" +sOne+ "\" != \"" +sTwo+ "\"") else: print("\n\"" +sOne+ "\" != \"" +sTwo+ "\"")
Here is its sample run with user input Welcome to fresherearth as first and This is fresherearth as second string:
Compare Two Strings using for Loop
This program uses for loop instead of while loop to compare two strings in character-by-character manner. The range() method returns a sequence of values. By default, the value starts with 0 and increments by 1. It stops before a number specified as its argument:
print("Enter Two Strings: ", end="") sOne = input() sTwo = input() sOne = str(sOne) sTwo = str(sTwo) lOne = len(sOne) lTwo = len(sTwo) if lOne==lTwo: chk = 0 for i in range(lOne): if sOne[i] != sTwo[i]: chk = 1 break if chk==0: print("\n\"" +sOne+ "\" = \"" +sTwo+ "\"") else: print("\n\"" +sOne+ "\" != \"" +sTwo+ "\"") else: print("\n\"" +sOne+ "\" != \"" +sTwo+ "\"")
This program produces the same output as of previous program.
Compare Two Strings using List
This program uses list to compare two strings entered by user. That is, we've initialized the first string to a list named sOneList and checked the second string stored in sTwo using in, whether it is available in the list or not as shown in the program given here:
print("Enter Two Strings: ", end="") sOne = input() sTwo = input() sOneList = [] sOneList = sOne if sTwo in sOneList: print("\nEqual Strings") else: print("\nUnequal Strings")
Here is its sample run with user input python as first and python as second string:
Compare Two Strings Directly using ==
This is the shortest program to compare two strings in Python. This program uses == operator to do the job.
print("Enter Two Strings: ", end="") sOne = input() sTwo = input() if sOne==sTwo: print("\nEqual Strings") else: print("\nUnequal Strings")
Compare Two Strings using Function
This program uses a user-defined function named compareStrings() to compare two strings. That is, this function receives both strings as its argument and returns 1 if both strings are equal using == operator
def compareStrings(x, y): if x==y: return 1 print("Enter Two Strings: ", end="") sOne = input() sTwo = input() chk = compareStrings(sOne, sTwo) if chk==1: print("\nEqual Strings") else: print("\nUnequal Strings")
Compare Two Strings using Class
This program uses class, an object-oriented feature of Python to do the same job. That is to compare two given strings by user:
class fresherearth: def compareStrings(self, x, y): if x==y: return 1 print("Enter Two Strings: ", end="") sOne = input() sTwo = input() obj = fresherearth() chk = obj.compareStrings(sOne, sTwo) if chk==1: print("\nEqual Strings") else: print("\nUnequal Strings")
We've created an object named obj of class fresherearth to access its member function named compareStrings() through dot (.) operator.
Same Program in Other Languages
« Previous Program Next Program »