Open In App

Python program to print all odd numbers in a range

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given starting and endpoints, write a Python program to print all odd numbers in that given range. 

Example:

Input: start = 4, end = 15
Output: 5, 7, 9, 11, 13, 15

Input: start = 3, end = 11
Output: 3, 5, 7, 9, 11

Example #1: Print all odd numbers from the given list using for loop 

  1. Define the start and end limit of the range.
  2. Iterate from start till the range in the list using for loop and 
  3. check if num % 2 != 0. 
  4. If the condition satisfies, then only print the number. 

Python3




# Python program to print odd Numbers in given range
 
start, end = 4, 19
 
# iterating each number in list
for num in range(start, end + 1):
     
    # checking condition
    if num % 2 != 0:
        print(num, end = " ")


Output

5 7 9 11 13 15 17 19 

Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space is used.

  Example #2: Taking range limit from user input 

Python3




# Python program to print Even Numbers in given range
 
start = int(input("Enter the start of range:"))
end = int(input("Enter the end of range:"))
 
# iterating each number in list
for num in range(start, end + 1):
 
    # checking condition
    if num % 2 != 0:
        print(num)


Output:

Enter the start of range: 3
Enter the end of range: 7
3
5
7

Time Complexity: O(N)
Auxiliary Space: O(1), As constant extra space is used.

Example #3: Taking range limit from user input or with static inputs to reduce code execution time and to increase code performance.

Python3




# Uncomment the below two lines for taking the User Inputs
#start = int(input("Enter the start of range: "))
#end = int(input("Enter the end of range: "))
 
# Range declaration
start = 5
end = 20
 
if start % 2 != 0:
 
    for num in range(start, end + 1, 2):
        print(num, end=" ")
else:
 
    for num in range(start+1, end + 1, 2):
        print(num, end=" ")


Output

5 7 9 11 13 15 17 19 

Time Complexity: O(N), Here N is the difference of the end and start.
Auxiliary Space: O(1), As constant extra space is used.

Example #4: Taking range limit from user input 

Python3




# Python program to print Even Numbers in given range
 
start = int(input("Enter the start of range: "))
end = int(input("Enter the end of range: "))
 
#create a list that contains only Even numbers in given range
even_list = range(start, end + 1)[start%2::2]
 
for num in even_list:
    print(num, end = " ")


Enter the start of range: 3
Enter the end of range: 11
3 5 7 9 11 

Time Complexity: O(n)
Auxiliary Space: O(n), As constant extra space is used.

Method: Using the lambda function

Python3




# Python code To print all odd numbers
# in a given range using the lambda function
a=3;b=11
li=[]
for i in range(a,b+1):
    li.append(i)
# printing odd numbers using the lambda function
odd_num = list(filter(lambda x: (x%2!=0),li)) 
print(odd_num)


Output

[3, 5, 7, 9, 11]

Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is used.

Method: Using recursion 

Python3




def odd(num1,num2):
    if num1>num2:
        return
    if num1&1:
      print(num1,end=" ")
      return odd(num1+2,num2)
    else:
      return odd(num1+1,num2)
num1=5;num2=15
odd(num1,num2)


Output

5 7 9 11 13 15 

Time Complexity: O(n)
Auxiliary Space: O(1), As the function is tail recursive, no stack space is used.

Method: Using list comprehension

Python3




x = [i for i in range(4,15+1) if i%2!=0]
print(*x)


Output

5 7 9 11 13 15

Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is used.

Method: Using the enumerate function 

Python3




a=4;b=15;l=[]
for i in range(a,b+1):
  l.append(i)
print([a for j,a in enumerate(l) if a%2!=0])


Output

[5, 7, 9, 11, 13, 15]

Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is used.

Method: Using pass 

Python3




a=4;b=15
for i in range(a,b+1):
  if i%2==0:
    pass
  else:
    print(i,end=" ")


Output

5 7 9 11 13 15 

Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is used.

Method: Using filter method:

Python3




# Python program to print Even Numbers in given range
  
# Range declaration
a=4;
b=15;
 
#create a list that contains only Even numbers in given range
l= filter(lambda a : a%2 , range(a, b+1))
print(*l)


Output

5 7 9 11 13 15

Time Complexity: O(n)
Auxiliary Space: O(1), As constant extra space is used.

Method: Using bitwise & operator  

Python3




# Python program to print odd Numbers in given range
#using bitwise & operator
  
 
start, end = 4, 19
 
  
 
# iterating each number in list
 
for num in range(start, end + 1):
 
      
 
    # checking condition
 
    if num & 1 != 0:
 
        print(num, end = " ")
 
 #this code is contributed  by vinay pinjala.


Output

5 7 9 11 13 15 17 19 

Time Complexity: O(n) 
Auxiliary Space: O(1), As constant extra space is used.

Method: Using bitwise | operator  

Python3




# Python program to print odd Numbers in given range
#using bitwise | operator
  
 
start, end = 4, 19
 
  
 
# iterating each number in list
 
for num in range(start, end + 1):
 
      
 
    # checking condition
 
    if num | 1 == num:
 
        print(num, end = " ")


Output

5 7 9 11 13 15 17 19 

Time Complexity: O(n) 
Auxiliary Space: O(1)

Method : Using numpy module:

Algorithm:

1.Input the range of numbers, a and b.
2.Import the NumPy library.
3.Create an array containing numbers in the range using np.arange(a, b+1).
4.Apply a boolean filter to select only the even numbers using arr[arr % 2 != 0].
5.Print the resulting array of even numbers using print(*evens).

Python3




import numpy as np
 
# Range declaration
a = 3
b = 15
 
# Create an array containing numbers in the range
arr = np.arange(a, b+1)
 
# Create a new array containing only even numbers
evens = arr[arr % 2 != 0]
 
# Print the array of even numbers
print(*evens)
#This code is contributed by Jyothi pinjala


Output:

3 5 7 9 11 13 15

The time complexity :O(N), where N is the number of elements in the given range.

The auxiliary space :O(N), since it creates an array to hold all the numbers in the range, and then another array to hold only the even numbers.

Method: Using continue keyword

Approach:

  1. Define the start and end limit of the range.
  2. Iterate from start till the range in the list using for loop and 
  3. Check the condition, if (i % 2) == 0. 
  4. If condition satisfies, then skip the current iteration and increment the ith value.
  5. If condition doesn’t satisfies, then only print the number. 

Python3




a = 4
b = 15
for i in range(a, b+1):
    if i % 2 == 0:
        continue
    else:
        print(i, end=" ")
 
     # This Code is contributed by Pratik Gupta (guptapratik)


Output

5 7 9 11 13 15 

Time Complexity: O(n)
Auxiliary Space: O(1), as constant extra space is used.

Method: Using filterfalse method

Approach: 

  • Define the start and end limit of the range.
  • Using filterfalse method in the range between start and end limit. 
  • filterfalse method checks the condition, x%2==0.
  • Any number that satisfies the above condition is not a part of the result. 
  • The final result holds the number that is false in the above condition. 
  • print the final result. 

Python3




# Python 3 code to demonstrate
# print odd number in range
import itertools
 
# Range declaration
a = 3
b = 15
 
# using filterfalse function
evens = list(itertools.filterfalse(lambda x: x%2==0, range(a, b+1)))
 
# Print the array of even numbers
print(*evens)


Output:

3 5 7 9 11 13 15

Time Complexity: O(N), Here N is the range between starting and ending limit. 
Auxiliary Space: O(1), Because no extra space is used.



Last Updated : 22 Apr, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads