30 Python Coding Interview Questions For Beginners
30 Python Coding Interview Questions For Beginners
Introduction
Understanding Python coding interview questions is crucial as they serve as a gateway to opportunities in
software development and data science careers. Mastering these questions not only showcases problem-
solving abilities and Python proficiency but also enhances overall programming skills. By familiarizing
oneself with common challenges and honing problem-solving strategies, candidates can confidently
navigate technical interviews, demonstrating readiness for diverse roles in the tech industry. In this article
we will explore Python coding interview questions for beginners which may help you in preparing for your
interviews.
Let us now look into top 30 Python coding interview questions for beginners.
Solution:
With Indexing:
def reverse_string(s): return s[::-1] # Example usage input_string = "Hello, World!" reversed_string =
reversed_string)
Output:
Without Indexing:
def reverse_string(s): reversed_str = "" for char in s: reversed_str = char + reversed_str return
Solution:
For String:
def is_palindrome(s): # Remove spaces and convert to lowercase for case-insensitive comparison s =
s.replace(" ", "").lower() return s == s[::-1] # Example usage input_string = "A man, a plan, a canal,
palindrome.")
Output:
For Number:
def is_palindrome(number): # Convert number to string for easy manipulation num_str = str(number) return
Output:
Solution:
def count_vowels(s): # Define vowels vowels = "aeiouAEIOU" # Initialize count count = 0 # Count vowels for
char in s: if char in vowels: count += 1 return count # Example usage input_string = "Hello, World!"
Output:
Question4: Write a Python program to find Factorial with Recursion?
Solution:
With Function:
def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) # Example usage number = 5 result =
Output:
Without Function:
number = 5 factorial = 1 if number < 0: print("Factorial is not defined for negative numbers.") elif number
== 0: print("Factorial of 0 is 1") else: for i in range(1, number + 1): factorial *= i print("Factorial of",
Output:
Solution:
def fibonacci(n): fib_sequence = [0, 1] # Initialize the sequence with the first two terms for i in range(2,
"terms:", fib_sequence)
Output:
Question6: Write a Python program to find Maximum Element in a List?
Solution:
# Example list my_list = [10, 23, 45, 67, 12, 89, 34] # Find maximum element max_element = max(my_list)
Output:
def find_max_element(lst): if not lst: # If the list is empty return None # Return None since there is no
maximum element max_element = lst[0] # Initialize max_element with the first element of the list for num in
lst: if num > max_element: max_element = num return max_element # Example usage my_list = [10, 23, 45, 67,
12, 89, 34] max_element = find_max_element(my_list) print("Maximum element in the list:", max_element)
Output:
Solution:
def is_anagram(str1, str2): # Remove spaces and convert to lowercase for case-insensitive comparison str1 =
str1.replace(" ", "").lower() str2 = str2.replace(" ", "").lower() # Check if the sorted forms of both
strings are equal return sorted(str1) == sorted(str2) # Example usage string1 = "listen" string2 = "silent"
if is_anagram(string1, string2): print(f"'{string1}' and '{string2}' are anagrams.") else:
Output:
def is_prime(num): if num <= 1: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return
False return True def find_primes(start, end): primes = [] for num in range(start, end + 1): if
prime_numbers)
Output:
Solution:
import string def is_pangram(sentence): # Convert sentence to lowercase for case-insensitive comparison
sentence = sentence.lower() # Create a set of unique characters in the sentence unique_chars = set(sentence)
return len(unique_chars) == 26 # Example usage input_sentence = "The quick brown fox jumps over the lazy dog"
pangram.")
Output:
Question10: Write a Python program to basic Data Structure Operations (e.g., list
manipulation, string manipulation)?
Solution:
# List manipulation my_list = [1, 2, 3, 4, 5] # Append an element to the list my_list.append(6) print("After
appending 6:", my_list) # Remove an element from the list my_list.remove(3) print("After removing 3:",
my_list) # Access elements by index print("Element at index 2:", my_list[2]) # String manipulation my_string
= "Hello, World!" # Split the string into a list of words words = my_string.split() print("Split string into
words:", words) # Join elements of a list into a single string new_string = "-".join(words) print("Joined
words with '-':", new_string) # Convert string to uppercase upper_string = my_string.upper() print("Uppercase
Output:
Question11: Write a Python program to find Minimum Element in a List?
Solution:
Using User-defined:
def find_min_element(lst): if not lst: # If the list is empty return None # Return None since there is no
minimum element min_element = lst[0] # Initialize min_element with the first element of the list for num in
lst: if num < min_element: min_element = num return min_element # Example usage my_list = [10, 23, 45, 67,
12, 89, 34] min_element = find_min_element(my_list) print("Minimum element in the list:", min_element)
Output:
my_list = [10, 23, 45, 67, 12, 89, 34] min_element = min(my_list) print("Minimum element in the list:",
min_element)
Output:
Solution:
def sum_of_digits(number): # Convert number to string to iterate through its digits num_str = str(number) #
Initialize sum digit_sum = 0 # Iterate through each digit and add it to the sum for digit in num_str:
digit_sum += int(digit) return digit_sum # Example usage input_number = 12345 result =
Output:
Question13: Write a Python program to check for Armstrong Number?
Solution:
def is_armstrong(number): # Convert number to string to get its length num_str = str(number) # Get the number
of digits num_digits = len(num_str) # Initialize sum armstrong_sum = 0 # Calculate the sum of digits raised
to the power of the number of digits for digit in num_str: armstrong_sum += int(digit) ** num_digits # Check
if the sum is equal to the original number return armstrong_sum == number # Example usage input_number = 153
if is_armstrong(input_number): print(input_number, "is an Armstrong number.") else: print(input_number, "is
Output:
Solution:
def is_leap_year(year): if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): return True else: return
False # Example usage input_year = 2024 if is_leap_year(input_year): print(input_year, "is a leap year.")
Output:
Solution:
def factorial(n): result = 1 for i in range(1, n + 1): result *= i return result # Example usage number = 5
Output:
Question16: Write a Python program to find Average of Numbers in a List?
Solution:
def find_average(numbers): if not numbers: # If the list is empty return None # Return None since there are
no numbers to average total = sum(numbers) # Calculate the sum of numbers in the list average = total /
len(numbers) # Calculate the average return average # Example usage number_list = [10, 20, 30, 40, 50]
average = find_average(number_list) if average is not None: print("Average of numbers in the list:", average)
Output:
Solution:
def merge_sorted_lists(list1, list2): merged_list = [] i = j = 0 while i < len(list1) and j < len(list2): if
list1[i] < list2[j]: merged_list.append(list1[i]) i += 1 else: merged_list.append(list2[j]) j += 1 # Append
remaining elements from list1, if any while i < len(list1): merged_list.append(list1[i]) i += 1 # Append
remaining elements from list2, if any while j < len(list2): merged_list.append(list2[j]) j += 1 return
Output:
Solution:
set() # Initialize an empty string to store the result result = "" # Iterate through each character in the
input string for char in input_string: # Add the character to the result string if it's not already in the
set if char not in unique_chars: result += char unique_chars.add(char) return result # Example usage
Solution:
def is_perfect_number(number): if number <= 0: return False divisor_sum = 0 # Find proper divisors and sum
them up for i in range(1, number): if number % i == 0: divisor_sum += i # Check if the sum of proper divisors
equals the number return divisor_sum == number # Example usage input_number = 28 if
Output:
Solution:
def max_difference(nums): if len(nums) < 2: return None # If the list has less than two elements, return None
max_difference = max(max_difference, num - min_element) return max_difference # Example usage numbers = [7,
1, 5, 3, 6, 4] result = max_difference(numbers) if result is not None: print("Maximum difference between two
elements in the list:", result) else: print("The list has less than two elements.")
Output:
Solution:
Output:
Without Function:
Output:
Solution:
def count_words(sentence): # Split the sentence into words using whitespace as the delimiter words =
sentence.split() # Count the number of words return len(words) # Example usage input_sentence = "This is a
sample sentence." word_count = count_words(input_sentence) print("Number of words in the sentence:",
word_count)
Output:
sentence:", word_count)
Output:
character is not a space and we are not already in a word if char != ' ' and not in_word: # Increment word
count and set the flag to indicate we are in a word word_count += 1 in_word = True # If the character is a
space and we are in a word elif char == ' ' and in_word: # Set the flag to indicate we are not in a word
in_word = False print("Number of words in the sentence:", word_count)
Output:
Solution:
def decimal_to_binary(decimal): binary = "" quotient = decimal while quotient > 0: remainder = quotient % 2
binary = str(remainder) + binary quotient //= 2 return binary # Example usage decimal_number = 10
binary_number = decimal_to_binary(decimal_number) print("Binary representation of", decimal_number, "is",
binary_number)
Output:
Solution:
def second_largest(nums): if len(nums) < 2: return None # If the list has less than two elements, return None
sorted_nums = sorted(nums, reverse=True) # Sort the list in descending order return sorted_nums[1] # Return
the second element (index 1) # Example usage numbers = [10, 30, 20, 40, 50] result = second_largest(numbers)
if result is not None: print("Second largest element in the list:", result) else: print("The list has less
Output:
Question26: Write a Python program to Reverse Words in a String?
Solution:
def reverse_words(input_string): # Split the string into words words = input_string.split() # Reverse the
order of words reversed_words = words[::-1] # Join the reversed words back into a string reversed_string = "
".join(reversed_words) return reversed_string # Example usage input_string = "Hello World" reversed_string =
reverse_words(input_string) print("Original string:", input_string) print("Reversed string:",
reversed_string)
Output:
Solution:
Numbers less than or equal to 1 are not considered prime factors return number % potential_factor == 0 #
Example usage number = 15 potential_factor = 3 if is_prime_factor(number, potential_factor):
print(potential_factor, "is a prime factor of", number) else: print(potential_factor, "is not a prime factor
of", number)
Output:
Solution:
def is_power_of_two(number): if number <= 0: return False # Numbers less than or equal to 0 are not powers of
two while number > 1: if number % 2 != 0: return False # If the number is not divisible by 2, it's not a
power of two number //= 2 return True # Example usage number = 16 if is_power_of_two(number): print(number,
Output:
Question29: Write a Python program to convert Celsius to Fahrenheit?
Solution:
Output:
Solution:
import math def lcm(a, b): return abs(a * b) // math.gcd(a, b) # Example usage num1 = 12 num2 = 18 result =
lcm(num1, num2) print("LCM of", num1, "and", num2, "is", result)
Output:
Conclusion
Completing practice with Python coding interview questions is essential for those who want to succeed in
data science and software development positions. This extensive compilation addresses a broad range of
basic ideas, from arithmetic operations and list manipulation to string manipulation. There are thorough
answers for every query, complete with concise justifications and useful code samples. Candidates who
actively engage with these questions not only demonstrate their mastery of Python but also develop
critical thinking abilities that are necessary for acing technical interviews and landing a variety of jobs in
the tech sector.
Ayushi Trivedi