The Python Workout: Programs to Strengthen Your Basics

Welcome back, Code Neurons! In our previous post, we explored the foundational concepts of Python. Now, it’s time to put that knowledge into action. This article provides a collection of essential Python programs designed to solidify your understanding of the core concepts we’ve covered, from data types to loops and functions.

1. Program to Check if a Number is Even or Odd

  • Problem Statement: Write a Python program that takes an integer as input and determines whether it is even or odd.
  • Code:
Python
num = int(input("Enter an integer: "))

if num % 2 == 0:
    print(f"{num} is an even number.")
else:
    print(f"{num} is an odd number.")

Explanation: We use the modulo operator (%) to check if the number leaves a remainder of 0 when divided by 2.

Key Learnings:

  • Input/Output: Taking user input (input()) and displaying results (print()).
  • Type Casting: Converting string input to an integer (int()).
  • Operators: Using the modulo operator (%).
  • Conditional Statements: Applying if-else for decision-making.

2. Program to Find the Largest Among Three Numbers

  • Problem Statement: Write a Python program to find the largest among three given numbers.
  • Code:
Python
num1 = float(input("Enter first number: "))
num2 = float(input("Enter second number: "))
num3 = float(input("Enter third number: "))

if (num1 >= num2) and (num1 >= num3):
    largest = num1
elif (num2 >= num1) and (num2 >= num3):
    largest = num2
else:
    largest = num3

print(f"The largest number is: {largest}")
  • Explanation: We use a series of if-elif-else statements to compare the three numbers and determine the largest.
  • Key Learnings:
    • Input/Output: Taking multiple user inputs.
    • Type Casting: Converting string input to a float (float()).
    • Conditional Statements: Using if-elif-else for multiple conditions.
    • Comparison Operators: Using >=,

3. Program to Reverse a String

  • Problem Statement: Write a Python program to reverse a given string.
  • Code:
Python
my_string = input("Enter a string: ")
reversed_string = my_string[::-1]
print(f"The reversed string is: {reversed_string}")
  • Explanation: String slicing with a step of -1 ([::-1]) is a concise way to reverse a string in Python.
  • Key Learnings:
    • Input/Output: Taking string input.
    • String Slicing: Using advanced slicing with a negative step ([::-1]).
    • String Manipulation: Demonstrating a common string operation.

4. Program to Check if a Number is Prime

  • Problem Statement: Write a Python program to check if a given positive integer is a prime number.
  • Code:
Python
num = int(input("Enter a positive integer: "))

if num <= 1:
    print(f"{num} is not a prime number.")
else:
    is_prime = True
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            is_prime = False
            break
    if is_prime:
        print(f"{num} is a prime number.")
    else:
        print(f"{num} is not a prime number.")
  • Explanation: We iterate from 2 up to the square root of the number. If any number in this range divides the input number, it’s not prime.
  • Key Learnings:
    • Loops: Using a for loop for iteration.
    • Conditional Statements: if-else and nested conditions.
    • Operators: Modulo operator (%), exponentiation (**).
    • Boolean Flags: Using a boolean variable (is_prime) to track state.
    • Mathematical Functions: Using int() and **0.5 (square root).
    • break Statement: Exiting a loop prematurely.

5. Program to Print the Fibonacci Sequence up to n terms

  • Problem Statement: Write a Python program to print the Fibonacci sequence up to a specified number of terms.
  • Code:
Python
n_terms = int(input("Enter the number of terms: "))

a, b = 0, 1
count = 0

if n_terms <= 0:
    print("Please enter a positive integer.")
elif n_terms == 1:
    print("Fibonacci sequence up to 1 term:")
    print(a)
else:
    print("Fibonacci sequence:")
    while count < n_terms:
        print(a, end=" ")
        nth = a + b
        a = b
        b = nth
        count += 1
    print() # For new line after printing sequence
  • Explanation: The Fibonacci sequence is generated by adding the two preceding numbers. We use a while loop to generate terms.
  • Key Learnings:
    • Input/Output: Taking integer input.
    • Type Casting: Converting input to int().
    • Multiple Assignment: Initializing a, b = 0, 1.
    • Loops: Using a while loop.
    • Conditional Statements: if-elif-else for various input scenarios.
    • end Parameter in print(): Controlling print output.

6. Program to Print Multiplication Table

  • Problem Statement: Write a Python program to print the multiplication table of a given number.
  • Code:
Python
num = int(input("Enter a number: "))

print(f"Multiplication Table of {num}:")
for i in range(1, 11):
    print(f"{num} x {i} = {num * i}")
  • Explanation: A simple for loop iterates from 1 to 10, multiplying the input number by each iteration.
  • Key Learnings:
    • Input/Output: Taking integer input.
    • Type Casting: Converting input to int().
    • Loops: Using a for loop with range().
    • F-strings: Formatting output with f-strings.

7. Program to Calculate Factorial of a Number

  • Problem Statement: Write a Python program to calculate the factorial of a non-negative integer.
  • Code:
Python
num = int(input("Enter a non-negative integer: "))

factorial = 1
if num < 0:
    print("Factorial does not exist for negative numbers.")
elif num == 0:
    print("The factorial of 0 is 1.")
else:
    for i in range(1, num + 1):
        factorial = factorial * i
    print(f"The factorial of {num} is {factorial}")
  • Explanation: Factorial is the product of all positive integers less than or equal to the number. We use a for loop for multiplication.
  • Key Learnings:
    • Input/Output: Taking integer input.
    • Conditional Statements: Handling different input conditions (if-elif-else).
    • Loops: Using a for loop for cumulative multiplication.
    • Variable Initialization: Setting initial factorial value.

8. Program to Check for Palindrome String

  • Problem Statement: Write a Python program to check if a given string is a palindrome (reads the same forwards and backward).
  • Code:
Python
my_string = input("Enter a string: ")
my_string = my_string.lower().replace(" ", "") # Convert to lowercase and remove spaces

if my_string == my_string[::-1]:
    print(f"'{my_string}' is a palindrome.")
else:
    print(f"'{my_string}' is not a palindrome.")
  • Explanation: We first normalize the string (lowercase, no spaces) and then compare it with its reversed version using slicing.
  • Key Learnings:
    • Input/Output: Taking string input.
    • String Methods: Using .lower() and .replace() for string manipulation.
    • String Slicing: Reversing a string efficiently with [::-1].
    • Comparison Operators: Comparing strings for equality.

9. Program to Find the Sum of Natural Numbers

  • Problem Statement: Write a Python program to find the sum of natural numbers up to a given positive integer n.
  • Code:
Python
n = int(input("Enter a positive integer: "))

if n < 0:
    print("Please enter a positive integer.")
else:
    sum_natural = 0
    for i in range(1, n + 1):
        sum_natural += i
    print(f"The sum of natural numbers up to {n} is: {sum_natural}")
  • Explanation: A for loop iterates from 1 to n, adding each number to sum_natural.
  • Key Learnings:
    • Input/Output: Taking integer input.
    • Type Casting: Converting input to int().
    • Loops: Using a for loop for accumulation.
    • Arithmetic Operators: Using += for shorthand addition.

10. Program to Convert Celsius to Fahrenheit

  • Problem Statement: Write a Python program to convert temperature from Celsius to Fahrenheit.
  • Code:
Python
celsius = float(input("Enter temperature in Celsius: "))
fahrenheit = (celsius * 9/5) + 32
print(f"{celsius}°C is equal to {fahrenheit}°F")
  • Explanation: This program applies the standard formula for Celsius to Fahrenheit conversion.
  • Key Learnings:
    • Input/Output: Taking numerical input.
    • Type Casting: Converting input to float (float()).
    • Arithmetic Operators: Performing multiplication, division, and addition.

11. Program to Calculate the Area of a Triangle

  • Problem Statement: Write a Python program to calculate the area of a triangle given its base and height.
  • Code:
Python
base = float(input("Enter the base of the triangle: "))
height = float(input("Enter the height of the triangle: "))

area = 0.5 * base * height
print(f"The area of the triangle is: {area}")
  • Explanation: Uses the standard formula for the area of a triangle.
  • Key Learnings:
    • Input/Output: Taking numerical inputs.
    • Type Casting: Converting inputs to float (float()).
    • Arithmetic Operators: Performing multiplication.

12. Program to Swap Two Variables

  • Problem Statement: Write a Python program to swap the values of two variables without using a temporary variable.
  • Code:
Python
x = input("Enter value for x: ")
y = input("Enter value for y: ")

print(f"Before swapping: x = {x}, y = {y}")

x, y = y, x # Pythonic way to swap

print(f"After swapping: x = {x}, y = {y}")
  • Explanation: Python allows direct swapping of variable values using tuple assignment.
  • Key Learnings:
    • Input/Output: Taking two inputs.
    • Variable Assignment: Understanding how variables hold values.
    • Tuple Assignment: Efficiently swapping variables using x, y = y, x.

13. Program to Generate a Random Number

  • Problem Statement: Write a Python program to generate a random number within a specified range.
  • Code:
Python
import random

start_range = int(input("Enter the start of the range: "))
end_range = int(input("Enter the end of the range: "))

random_num = random.randint(start_range, end_range)
print(f"Generated random number: {random_num}")
  • Explanation: The random.randint() function from the random module generates a random integer within the inclusive range.
  • Key Learnings:
    • Modules: Importing external modules (import random).
    • Input/Output: Taking numerical range inputs.
    • Functions: Using a function from a module (random.randint()).

14. Program to Convert Decimal to Binary, Octal, and Hexadecimal

  • Problem Statement: Write a Python program to convert a decimal number to its binary, octal, and hexadecimal representations.
  • Code:
Python
dec = int(input("Enter a decimal number: "))

print(f"The decimal value of {dec}:")
print(f"{bin(dec)} in binary.")
print(f"{oct(dec)} in octal.")
print(f"{hex(dec)} in hexadecimal.")
  • Explanation: Python provides built-in functions bin(), oct(), and hex() for these conversions.
  • Key Learnings:
    • Input/Output: Taking integer input.
    • Type Casting: Converting input to int().
    • Built-in Functions: Using bin(), oct(), hex() for base conversions.

15. Program to Print a Simple Star Pattern (Right Triangle)

  • Problem Statement: Write a Python program to print a right-angled triangle star pattern.
  • Code:
Python
rows = int(input("Enter the number of rows: "))

for i in range(1, rows + 1):
    print("*" * i)
  • Explanation: The outer loop controls the number of rows, and in each iteration, we print * repeated i times using string multiplication.
  • Key Learnings:
    • Input/Output: Taking integer input for rows.
    • Loops: Using a for loop for iteration.
    • String Operators: Demonstrating string multiplication ("*" * i).

16. Program to Count Vowels in a String

  • Problem Statement: Write a Python program to count the number of vowels (a, e, i, o, u) in a given string.
  • Code:
Python
my_string = input("Enter a string: ")
vowels = "aeiouAEIOU"
count = 0

for char in my_string:
    if char in vowels:
        count += 1
print(f"Number of vowels in '{my_string}': {count}")
  • Explanation: We iterate through each character in the string and check if it’s present in our vowels string using the in operator.
  • Key Learnings:
    • Input/Output: Taking string input.
    • Loops: Iterating through a string using a for loop.
    • String Operators: Using the in operator for membership testing.
    • Variable Increment: Using += to count occurrences.

17. Program to Find the ASCII Value of a Character

  • Problem Statement: Write a Python program to find the ASCII value of a given character.
  • Code:
Python
char = input("Enter a character: ")

print(f"The ASCII value of '{char}' is: {ord(char)}")
  • Explanation: The ord() function in Python returns the ASCII (or Unicode) value of a character.
  • Key Learnings:
    • Input/Output: Taking single character input.
    • Built-in Functions: Using the ord() function.

18. Program to Remove Duplicates from a List

  • Problem Statement: Write a Python program to remove duplicate elements from a list.
  • Code:
Python
my_list = [1, 2, 2, 3, 4, 4, 5, 1]
print(f"Original list: {my_list}")

# Using set to remove duplicates
unique_list = list(set(my_list))
print(f"List after removing duplicates: {unique_list}")
  • Explanation: Converting a list to a set automatically removes duplicates, and then converting it back to a list gives the desired result. This leverages the unique-element property of sets.
  • Key Learnings:
    • Data Structures: Understanding lists and sets.
    • Type Conversion: Converting between list and set (list(set())).
    • Set Properties: Leveraging sets for uniqueness.

19. Program to Count the Occurrence of Each Character in a String

  • Problem Statement: Write a Python program to count the occurrences of each character in a string.
  • Code:
Python
my_string = "hello world"
char_counts = {} # Initialize an empty dictionary

for char in my_string:
    if char in char_counts:
        char_counts[char] += 1
    else:
        char_counts[char] = 1

print(f"Character occurrences: {char_counts}")
  • Explanation: We use a dictionary to store character counts. For each character, we increment its count or initialize it if it’s the first occurrence.
  • Key Learnings:
    • Data Structures: Using a dictionary for key-value pairs.
    • Loops: Iterating through a string.
    • Conditional Statements: Checking for key existence in a dictionary.
    • Dictionary Operations: Adding and updating dictionary entries.

20. Program to Implement a Simple Calculator

  • Problem Statement: Write a Python program that acts as a simple calculator, performing addition, subtraction, multiplication, and division based on user input.
  • Code:
Python
def add(x, y):
    return x + y

def subtract(x, y):
    return x - y

def multiply(x, y):
    return x * y

def divide(x, y):
    if y == 0:
        return "Error! Division by zero."
    return x / y

print("Select operation:")
print("1. Add")
print("2. Subtract")
print("3. Multiply")
print("4. Divide")

while True:
    choice = input("Enter choice(1/2/3/4): ")

    if choice in ('1', '2', '3', '4'):
        try:
            num1 = float(input("Enter first number: "))
            num2 = float(input("Enter second number: "))
        except ValueError:
            print("Invalid input. Please enter numbers only.")
            continue

        if choice == '1':
            print(f"{num1} + {num2} = {add(num1, num2)}")
        elif choice == '2':
            print(f"{num1} - {num2} = {subtract(num1, num2)}")
        elif choice == '3':
            print(f"{num1} * {num2} = {multiply(num1, num2)}")
        elif choice == '4':
            result = divide(num1, num2)
            print(f"{num1} / {num2} = {result}")
        break
    else:
        print("Invalid input. Please enter 1, 2, 3, or 4.")
  • Explanation: This program demonstrates functions for modularity, conditional statements for operation selection, and error handling to manage invalid inputs.
  • Key Learnings:
    • Functions: Defining and calling custom functions (def).
    • Loops: Using a while True loop for continuous input until valid.
    • Conditional Statements: Extensive use of if-elif-else.
    • Error Handling: Using try-except for ValueError (invalid input) and checking for division by zero.
    • Input Validation: Ensuring user input is within expected choices.

By working through these practical Python programs, you’ve reinforced your understanding of fundamental concepts such as data types, operators, conditional logic, loops, functions, and string manipulation. These examples serve as building blocks for more complex programming challenges, empowering you to write effective and efficient Python code. Keep practicing, and happy coding!

Hi there 👋
It’s nice to see you.

Sign up to receive awesome content in your inbox, as soon as they gets posted!

This field is required.

We don’t spam! Read our privacy policy for more info.