25 Python Programs
1. Palindrome Check
def is_palindrome(s):
s = [Link]().replace(" ", "")
return s == s[::-1]
word = input("Enter a string: ")
print("Palindrome" if is_palindrome(word) else "Not a palindrome")
2. Sum of Digits
def sum_of_digits(n):
return sum(int(d) for d in str(abs(n)))
num = int(input("Enter a number: "))
print("Sum of digits:", sum_of_digits(num))
3. Factorial of a Number
def factorial(n):
if n == 0 or n == 1:
return 1
return n * factorial(n - 1)
num = int(input("Enter a number: "))
print("Factorial:", factorial(num))
4. Count Vowels and Consonants
def count_vowels_consonants(s):
vowels = 'aeiouAEIOU'
v = sum(1 for c in s if c in vowels)
c = sum(1 for c in s if [Link]() and c not in vowels)
return v, c
text = input("Enter a string: ")
v, c = count_vowels_consonants(text)
print(f"Vowels: {v}, Consonants: {c}")
5. Reverse a Number
def reverse_number(n):
sign = -1 if n < 0 else 1
rev = int(str(abs(n))[::-1])
return sign * rev
num = int(input("Enter a number: "))
print("Reversed number:", reverse_number(num))
6. N-th Fibonacci Number
def fibonacci(n):
if n <= 1:
return n
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
n = int(input("Enter n: "))
print(f"{n}th Fibonacci number:", fibonacci(n))
7. Check Even or Odd
num = int(input("Enter a number: "))
print("Even" if num % 2 == 0 else "Odd")
8. Power of a Number
base = float(input("Enter base: "))
exp = int(input("Enter exponent: "))
print("Result:", base ** exp)
9. Remove Duplicate Characters
def remove_duplicates(s):
result = ""
for c in s:
if c not in result:
result += c
return result
text = input("Enter text: ")
print("After removing duplicates:", remove_duplicates(text))
10. Count Character Frequency
from collections import Counter
text = input("Enter text: ")
freq = Counter(text)
for k, v in [Link]():
print(f"{k}: {v}")
11. Find Second Largest Number
nums = list(map(int, input("Enter numbers separated by space: ").split()))
unique_nums = list(set(nums))
unique_nums.sort()
print("Second largest number:", unique_nums[-2])
12. Sum Space-Separated Numbers
nums = list(map(int, input("Enter space-separated numbers: ").split()))
print("Sum:", sum(nums))
13. Find Min and Max
nums = list(map(int, input("Enter numbers: ").split()))
print("Min:", min(nums))
print("Max:", max(nums))
14. Count Words in a Sentence
sentence = input("Enter a sentence: ")
words = [Link]()
print("Word count:", len(words))
15. Find Average of Numbers
nums = list(map(float, input("Enter numbers: ").split()))
print("Average:", sum(nums) / len(nums))
16. Array
from array import array
arr = array('i', [1, 2, 3, 4, 5])
print("Array elements:", [Link]())
17. List
lst = [1, 2, 3, 4, 5]
[Link](6)
[Link](2)
print("Updated list:", lst)
18. Stack
stack = []
[Link](10)
[Link](20)
[Link](30)
print("Stack:", stack)
[Link]()
print("After pop:", stack)
19. Queue
from collections import deque
queue = deque([1, 2, 3])
[Link](4)
print("Queue:", queue)
[Link]()
print("After dequeue:", queue)
20. Binary Tree
class Node:
def __init__(self, value):
[Link] = value
[Link] = None
[Link] = None
def inorder(root):
if root:
inorder([Link])
print([Link], end=" ")
inorder([Link])
root = Node(1)
[Link] = Node(2)
[Link] = Node(3)
[Link] = Node(4)
[Link] = Node(5)
print("Inorder traversal:")
inorder(root)
21. Insertion Sort
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr[i]
j = i - 1
while j >= 0 and key < arr[j]:
arr[j + 1] = arr[j]
j -= 1
arr[j + 1] = key
return arr
nums = list(map(int, input("Enter numbers: ").split()))
print("Sorted list:", insertion_sort(nums))
22. Selection Sort
def selection_sort(arr):
for i in range(len(arr)):
min_idx = i
for j in range(i+1, len(arr)):
if arr[j] < arr[min_idx]:
min_idx = j
arr[i], arr[min_idx] = arr[min_idx], arr[i]
return arr
nums = list(map(int, input("Enter numbers: ").split()))
print("Sorted list:", selection_sort(nums))
23. BFS (Breadth-First Search)
from collections import deque
def bfs(graph, start):
visited = set()
queue = deque([start])
while queue:
node = [Link]()
if node not in visited:
print(node, end=" ")
[Link](node)
[Link](graph[node] - visited)
graph = {
'A': {'B', 'C'},
'B': {'A', 'D', 'E'},
'C': {'A', 'F'},
'D': {'B'},
'E': {'B', 'F'},
'F': {'C', 'E'}
}
print("BFS traversal:")
bfs(graph, 'A')
24. Prim’s Algorithm
import heapq
def prim(graph, start):
visited = set()
mst = []
edges = [(0, start, None)]
while edges:
weight, node, parent = [Link](edges)
if node not in visited:
[Link](node)
if parent is not None:
[Link]((parent, node, weight))
for adj, w in graph[node]:
if adj not in visited:
[Link](edges, (w, adj, node))
return mst
graph = {
'A': [('B', 2), ('C', 3)],
'B': [('A', 2), ('C', 1), ('D', 4)],
'C': [('A', 3), ('B', 1), ('D', 5)],
'D': [('B', 4), ('C', 5)]
}
print("Prim's MST:", prim(graph, 'A'))
25. Heap Sort
def heapify(arr, n, i):
largest = i
l = 2*i + 1
r = 2*i + 2
if l < n and arr[l] > arr[largest]:
largest = l
if r < n and arr[r] > arr[largest]:
largest = r
if largest != i:
arr[i], arr[largest] = arr[largest], arr[i]
heapify(arr, n, largest)
def heap_sort(arr):
n = len(arr)
for i in range(n//2 - 1, -1, -1):
heapify(arr, n, i)
for i in range(n-1, 0, -1):
arr[i], arr[0] = arr[0], arr[i]
heapify(arr, i, 0)
return arr
nums = list(map(int, input("Enter numbers: ").split()))
print("Heap sorted:", heap_sort(nums))