Python Program to Print all Odd Numbers in a Range
There are several ways to print odd numbers in a given range in Python. Let’s look at different methods from the simplest to the more advanced.
Using for loop with if condition
In this method, we iterate through all numbers in the range and check if each number is odd using the condition num%2! = 0. If true, the number is printed
# Iterate through all numbers in the given range
for num in range(1, 11):
# check if a number is odd
if num % 2 != 0:
print(num)
Output
1 3 5 7 9
Let’s explore some other methods to print all odd numbers in a range.
Table of Content
Using filter() Function
The filter() function can be utilized to filter out elements from a sequence. You can use it in conjunction with a lambda function to print odd numbers.
Using List Comprehension
This method creates a list of odd numbers in one line using list comprehension with a conditional check num% 2! = 0.
start = 1
end = 10
# Use list comprehension to create a list of odd numbers
# Iterate through the range (start to end + 1)
odd_numbers = [num for num in range(start, end + 1) if num % 2 != 0]
print(odd_numbers)
Output
[1, 3, 5, 7, 9]
Using Bitwise AND (&)
bitwise AND operator is useful when we need to check if a number is odd or even. The binary representation of an odd number always ends in 1, while an even number ends in 0. So, we can check if a number is odd by using num & 1.
start = 1
end = 10
for num in range(start, end + 1):
# # Check if the last bit is 1 (odd number)
if num & 1:
print(num)
Output
1 3 5 7 9