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
- Define the start and end limit of the range.
- Iterate from start till the range in the list using for loop and
- check if num % 2 != 0.
- 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 = " " ) |
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 = " " ) |
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) |
[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) |
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) |
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 ]) |
[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 = " " ) |
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) |
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. |
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 = " " ) |
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:
- Define the start and end limit of the range.
- Iterate from start till the range in the list using for loop and
- Check the condition, if (i % 2) == 0.
- If condition satisfies, then skip the current iteration and increment the ith value.
- 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) |
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.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!