Python Programming Practice Questions
In the following tutorial, we will practice different questions and programs based on Python.
So, let's get started.
Python Practice Programs
The following are some practice problems associated with Python.
Python Program to Declare a Variable and its Types:
CODE:
# Simple Python program to declare a variables
num = 9
print("Interger:",num)
print(type(num))
num = 5.55
print("Float:",num)
print(type(num))
num ="HelloWorld"
print("String:",num)
print(type(num))
OUTPUT:
Interger: 9
<class 'int'>
Float: 5.55
<class 'float'>
String: HelloWorld
<class 'str'>
CODE EXPLANATION:
The program starts by declaring a variable num and assigning the value 9, an integer. The program then prints the value of num and its type using the print() and type() functions, respectively.
Next, the program re-assigns the num variable with the value 5.55, a floating-point number. The program then prints the new value of num and its type using the print() and type() functions, respectively.
Finally, the program re-assigns the num variable with the value "HelloWorld", which is a string. The program then prints the new value of num and its type using the print() and type() functions, respectively. In Python, the type of such a variable can be determined using the type() function.
If-else Statements:
The if statement in Python is one of the programming languages’ most common conditional statements. It determines whether or not certain statements must be executed. The "if" block contains a set of code that is only executed if a specific condition is met. If the condition is not met, it is not executed.
SYNTAX:
If ( EXPRESSION == TRUE ):
Block of code
else:
Block of code
In this case, the condition will be converted to a Boolean expression, either true or false. The statement or programme inside the "if" block is executed if the condition is true; if false, the statement or program inside the "else" block will be executed.
Python Program to Check Whether a Given Number is Even or Odd:
CODE:
n=int(input("Enter n value:"))
if(n%2==0):
print("Even Number")
else:
print("Odd Number")
OUTPUT:
Enter n value:5
Odd Number
CODE EXPLANATION:
To obtain an integer input from a user and store it in the variable n, the program uses the input() function. The message "Enter n value:" is displayed on the console to prompt the user to enter a value. The program then uses the modulo operator (%) to check if the input value is even or odd. The input number is even if n is divisible by 2 with no remainder; otherwise, it is odd. If the input number value is even, the program uses the print() function to display the “Even Number” signal. If the input number is odd, the program prints the “Odd Number” message using the print() function. The program’s message will inform the user of the evenness or oddness of the input number. For example, if the user enters ten as the input, the program will check if ten is divisible by 2. Since it is divisible by 2 with no remainder, the program will print "Even Number" as the output. If the user enters nine as the input, the program will check if nine is divisible by 2. Since it is not divisible by 2 with no remainder, the program will print "Odd Number" as the output.
Python Program to Find the Sum of all Even Numbers from 1 to 100:
CODE:
sum = 0
n=int(input("Enter n value:"))
for i in range(2, n+1, 2):
sum += i
print("The sum of even numbers from 1 to n is:", sum)
OUTPUT:
Enter n value:250
The sum of even numbers from 1 to n is: 15750
CODE EXPLANATION:
Initialising a variable named sum to 0 is how the program begins. This variable will serve as a record for the total of even numbers. Once the user has provided an integer, the program uses this same input() function to store it in the variable n. This input is the upper limit of the range of even numbers we want to sum. The program then uses a for loop to iterate through all the even numbers from 2 to n (incrementing by 2 each time). The range() function generates a sequence of even numbers from 2 to n; the for loop iterates over this sequence. The current even number is added to the sum variable during each iteration of the for loop. After the for loop has finished iterating over all the even numbers in the range, the program prints out the sum value using the print() function. The program’s output will be a message that displays the sum of all even numbers from 2 to n.
Factorial of a Non-Negative Integer:
CODE:
def factorial(n):
if n < 0:
return 0
elif n == 0 or n == 1:
return 1
else:
fact = 1
while(n > 1):
fact *= n
n -= 1
return fact
num = int(input("Enter the num value:"));
print("Factorial of the", num, "is",
factorial(num))
OUTPUT:
Enter the num value:6
Factorial of the 6 is 720
CODE EXPLANATION:
The programme defines the factorial function, which accepts the integer n as an argument. The if statement checks whether n is less than 0. If n is less than 0, the function returns 0. This is because the factorial of a negative number is not defined. The elif statement checks whether n is equal to 0 or 1. If n is equal to 0 or 1, the function returns 1. This is because the factorial of 0 or 1 is 1. If n is greater than 1, the program enters the else block. A variable named fact is initialised to 1. A while loop is used to calculate the factorial of n. The loop continues until n is reduced to 1. Within the loop, the value of the fact is updated by multiplying it with the current value of n. The value of n is then decremented by 1. Once the loop ends, the function returns the value of the fact. The user is prompted to enter the number num by the main program. It then calls the factorial function with num as the argument and prints the result using a formatted string. The output message displays the value of the input number num and its corresponding factorial value.
Python Program to print the sum of elements in a list:
CODE:
n=int(input(“Enter the length of the list:”))
lst=list(map(int,input().split()))
ans=sum(lst)
print(ans)
OUTPUT:
Enter the length of list:5
1 2 3 4 5
15
CODE EXPLANATION:
The program uses the function input () to obtain an integer input from a user but also stores it in the variable n. This input indicates how many elements there are in the list. The program again uses the input() function to get a string input from the user. This input represents the elements of the list, separated by a space. The split() method is then used to split the string into a list of individual string elements.
The list's string elements are changed to integer elements using the map() function. This is done by passing the int function as the first argument to map(), which applies the int() function to each list element.
The resulting list of integers is then converted to a Python list using the list() function and stored in the variable list. The sum() function calculates the sum of the elements in the list. The variable ans holds the total that results. The value of ans is then printed on the console by the programme using the print() function. This will be the sum of all the integers in the list.
Python Program to Print Right-Angled Triangle Pattern:
CODE:
import math
count = 0
count += 1
n = int(input("Enter number of lines:"))
for i in range(1, n+1):
for j in range(1, n+1):
if i + j > n:
print("*", end="")
else:
print(" ", end="")
print()
OUTPUT:
Enter number of lines:8
*
**
***
****
*****
******
*******
********
CODE EXPLANATION:
The first line imports the math library. However, this library is not used in the program and is unnecessary. The count variable is initialized to zero and then incremented by 1. However, since the increment statement is executed immediately after the variable is declared, it serves only a useful purpose. Then we use the nested loops to iterate over each row and column of the pattern. For each cell, the program checks whether the sum of the row and column numbers is greater than the value of n. If it is, an asterisk is printed. Otherwise, a space is printed. The end parameter of the print() function is used to ensure that each row is printed on a single line.
Python Program to Compute ‘a power b’:
CODE:
a=int(input("Enter a value:"))
b=int(input("Enter b value:"))
def pow(a,b):
ans=1
while(b>0):
if((b&1)==1):
ans=(ans*a)%1000000007
b=b>>1
a=(a*a)%1000000007
return ans%1000000007
print(pow(a,b))
OUTPUT:
Enter a value:2
Enter b value:4
16
CODE EXPLANATION:
At first, we Initialize a variable ans to 1.
While b is greater than 0:
- If the least significant bit of b is 1 (i.e., b & 1 == 1), multiply ans by a.
- Right-shift b by 1 (i.e., b = b >> 1).
- Square an (i.e., a = a * a). Return the final value of ans modulo 10^9+7. The % operator is used to calculate the result modulo 10^9+7. This is done to ensure that the result is the maximum value of a 32-bit integer.
Finally, the code calls the pow function with the input values a and b and prints the result. The variable name pow used for the function may clash with the built-in function pow(), which performs the same operation. Therefore, using built-in function names as variables or function names is not a good practice.
Python Program to Find the Sum of Pairs with their Indices in an Array:
CODE:
n=int(input("Enter number of elements in array:"))
k=int(input("Enter the target value:"))
l=list(map(int,input().split()))
s=0
for i in range(0,n):
for j in range(i+1,n):
if((l[i]+l[j])==k):
s=1
print("Indices:",i,j)
break
if(s==1):
print("True, The Sum of the pairs available in the array")
else:
print("False")
OUTPUT:
Enter number of elements in array:5
Enter the target value:3
1 2 3 4 5
True, The Sum of the pair is available in the array
Indices: 4 4
CODE EXPLANATION:
The first input prompt asks the user to enter the number of elements in the array. The second input prompt asks the user to enter the target value. The third input prompt asks the user to enter the array of elements separated by space. The code then checks if two elements exist in the array whose sum equals the target value. If such a pair exists, the code prints the indices of the two elements and sets the variable s to 1. Otherwise, the code sets the variable s to 0.
Finally, the code prints whether the target value can be obtained as the sum of a pair of elements in the array.
The code uses two nested loops to iterate over all pairs of elements in the array. For each pair of elements (i, j), the code checks if their sum equals the target value k. If so, the code sets the variable s to 1 and prints the indices of the pair. If the variable s is one at the end of the loop, a pair of elements whose sum is equal to the target value has been found, and the code prints "True; the Sum of pair is available in the array". Otherwise, the code prints "False".
Overall, this code has a time complexity of O(n^2), as it uses nested loops to check all pairs of elements in the array. There are more efficient algorithms to solve this problem with lower time complexity.
Python Program to Print Several Words, Vowels, and Consonants in a Given String:
CODE:
s=input("Enter the string:")
m=[]#vowels
r=[]#consonants
for i in s:
if(i=='a' or i=='A' or i=='E' or i=='I' or i=='O' or i=='U' or i=='e' or i=='i' or i=='o' or i=='u'):
m.append(i)
else:
r.append(i)
p=0
for k in r:
if(k!=' '):
p+=1
c=len(s.split())
print("Number of Words:",c)
print("Number of vowels in string:",len(m))
print("Number of consonants in string:",p)
OUTPUT:
Enter the string: The world is green and blue
Number of Words: 6
Number of vowels in the string: 8
Number of consonants in the string: 14
CODE EXPLANATION:
It initializes two empty lists, m and r, to store vowels and consonants. It iterates over each character i in the input string s. If the character is a vowel, it appends it to the m list. Otherwise, it appends it to the r list. It then iterates over each character k in the r list and counts the number of non-space characters. This count is stored in the variable p. It uses the split() method to split the input string into a list of words and counts the number of words in the list using the len() function. This count is stored in the variable c. Finally, it prints the number of words in the string, the number of vowels in the string, and the number of consonants in the string.
The code stores vowels and consonants using two lists, m and r. It checks each character in the input string s to see if it is a vowel. If the character is a vowel, it is appended to the m list. If the character is a consonant, it is appended to the r list. The count of non-space characters in the r list is computed using a loop that iterates over each character k in the r list and increments the variable p if the character is not a space. The code then uses the split() method to split the input string into a list of words. It counts the number of words in the list using the len() function and stores the count in the variable c.
Finally, the code prints the number of words in the input string, the number of vowels in the input string, and the number of consonants in the input string.
Python Program to Print the First Repeating Character in a Given String:
CODE:
k=input("Enter the string:")
m="."
c=[]
for i in k:
if(k.count(i)>1):
c.append(i)
break
if(k.count(i)==0):
c.append(m)
break
else:
print("There is no repeating character")
print("The First repeating character is:",*c)
OUTPUT:
Enter the string:This is a Sample String
The First repeating character is: i
CODE EXPLANATION:
It initializes a string variable m with the value ".". It initializes an empty list c to store the repeating character or a dot (.) if there is no repeating character. It iterates over each character i in the input string k. It checks if the count of the character i in the input string k is greater than 1. If it is, it means the character is repeated and the character i is appended to the c list. The loop is then terminated using the break statement. If the count of the character i in the input string k is 0, the character is not repeated, and a dot (.) is appended to the c list. The loop is then terminated using the break statement. If the loop completes successfully without a break statement being executed, the string has no repeating character, and the code prints a message stating this. Finally, the code prints the first repeating character found or a dot (.) if there is no repeating character, using the * operator to unpack the list c.
The code uses the count() method to count the number of occurrences of each character in the input string k. If the count of a character is greater than 1, it means the character is repeated, and the code adds the character to the c list and terminates the loop using the break statement. If the loop completes without finding a repeating character, the code adds a dot (.) to the c list and prints a message stating no repeating character.
Finally, the code prints the first repeating character in the input string if there is one or a dot (.) if there is no repeating character.
Sorting Elements in an Array using the Bubble Sort Algorithm:
CODE:
l=list(map(int,input("Enter array elements:").split()))
c=0
temp=0
arr=0
for i in range(0,len(l)):
for j in range(0,len(l)-1) :
if(l[j]>l[j+1]):
temp=l[j]
l[j]=l[j+1]
l[j+1]=temp
for k in l:
print(k,end=" ")
print("\r")
OUTPUT:
Enter array elements:9 4 8 -32 -5 23
-32 -5 4 8 9 23
CODE EXPLANATION:
At first, we initialize three variables, c, temp, and arr, to 0. Using the bubble sort algorithm, two nested loops are used to sort the input list in ascending order. The outer loop iterates from 0 to the length of the input list, and the inner loop iterates from 0 to the length of the input list minus 1. In each iteration of the inner loop, the code compares adjacent elements in the list and swaps them if they are in the wrong order. This continues until the entire list is sorted.
After the sorting is complete, the code iterates over the sorted list using a for loop and prints each element separated by a space using the end parameter of the print() function. The end parameter is set to a space character to print the elements on the same line.
Finally, the code prints a newline character using the escape sequence \r to move the cursor to the beginning of the line for the next print statement.
The code uses the bubble sort algorithm to sort the input list in ascending order. The outer loop iterates over each element in the list, and the inner loop iterates over each pair of adjacent elements. If the adjacent elements are not in the correct order, the code swaps them. This process is repeated until the entire list is sorted. The sorted list is then printed using a for loop, separating each element by a space character. Finally, a newline character is printed to move the cursor to the beginning of the next line.
Python Program to Find Missing Elements in an Array:
CODE:
arr = list(map(int, input("Enter the array elements: ").split()))
n = len(arr)
sum_n = (n+1)*(n+2)//2
sum_arr = sum(arr)
missing_num = sum_n - sum_arr
print("The missing number is:", missing_num)
OUTPUT:
Enter the array elements: 1 4 6 3 5
The missing number is: 2
CODE EXPLANATION:
The list() and map() functions convert the input string into a list of integers. The first line of code to the user is in the form of an array of integers. The second line of code finds the length of the array by using the built-in len() function. The third line of code calculates the sum of all the numbers in the given range using the formula (n+1)*(n+2)//2, where n is the length of the array plus one. The fourth line of code calculates the sum of all the numbers in the given array using the built-in sum() function in Python.
The fifth line of code finds the missing number by subtracting the sum of the array from the sum of the numbers in the range. The missing number is stored in the missing_num variable.
Finally, the last line of code prints the missing number to the console using the print() function. This program assumes that only one number is missing from the array. If more than one number is missing, the output may need to be corrected.
Python Program to Find the Frequency of an Element in an Array:
CODE:
n=int(input("Enter number of elements:"))
l=list(map(int,input("Enter the elements:").split()))
k=int(input("Enter an element to find its count:"))
c=0
for i in range(0,len(l)):
if(l[i]==k):
c+=1
print(c)
OUTPUT:
Enter number of elements:6
Enter the elements:2 3 4 4 4 4
Enter an element to find its count:4
4
CODE EXPLANATION:
The first line takes an integer input n representing the list's number of elements. The second line takes input n elements in a single line separated by space and stores them as a list of integers l. The third line takes an integer input k which is the element to be searched in the list. A variable c is initialized to 0 to store the count of occurrences of k. The for loop iterates through each element of the list l. For each element, it checks if the element is equal to k. If the element equals k, the count c is incremented by 1. After the loop, the count c is printed, representing the number of occurrences of k in the list.
Python Program to Find Two Strings are Anagrams or Not:
CODE:
def are_anagrams(str1, str2):
str1 = str1.lower().replace(' ', '')
str2 = str2.lower().replace(' ', '')
if len(str1) != len(str2):
return False
str1_list = sorted(list(str1))
str2_list = sorted(list(str2))
if str1_list == str2_list:
return True
else:
return False
str1 = input("Enter string 1:")
str2 = input("Enter string 2:")
if are_anagrams(str1, str2):
print(f"{str1} and {str2} are anagrams")
else:
print(f"{str1} and {str2} are not anagrams")
OUTPUT:
Enter string 1:stop
Enter string 2:post
stop and post are anagrams
CODE EXPLANATION:
The function are_anagrams() takes two strings, str1 and str2, as input. It converts both strings to lowercase using the lower() method and removes any spaces using the replace() method. Then it checks if the length of str1 equals the length of str2. If the lengths are not equal, the function returns False.
If the lengths are equal, the function converts both strings to lists of characters using the list() method and sorts them using the sorted() method. Then it compares the two sorted lists. If the lists are equal, the function returns True, indicating that the two strings are anagrams. Otherwise, it returns False.
The program prompts the user to enter two strings, str1 and str2. It calls the are_anagrams() function with these two strings as arguments. If the function returns True, the program prints a message that the two strings are anagrams. Otherwise, it prints a message saying that they are not anagrams.