In this post, we will learn how to write a program to print odd numbers from 1 to 100 in Python using for-loop, while-loop, function, etc. with proper algorithm and explanation.
We will also see different variations of this program, such as printing odd numbers from 1 to N, printing odd numbers in a given range, etc.
So let’s start with the very basics: What is an odd number?
What is Odd Number?
An integer number that is not divisible by 2 is known as an odd number.
![](https://allinpython.com/wp-content/uploads/2023/06/Example-for-Odd-Numbers-1024x216.png)
Now the basics are clear, So let’s jump into the programming part but few programming concepts you have to know before writing all this program and those are:
Print Odd Numbers from 1 to 100 in Python Using for-loop
Let’s discuss the algorithm first then we will write code for it.
Algorithm:
- Take a for-loop from 1 to 101 –> (
for i in range(1,101):
) - Inside for-loop check
if i % 2 != 0:
then do step-3 print(i)
- End program.
Source Code:
# The range function does not include the end value, so only numbers from 1 to 100 are considered.
for i in range(1, 101):
if i % 2 != 0:
print(i,end=",")
Output:
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,
There is an alternate approach using a for-loop where you can use the step argument of the range function. As we know range function takes three arguments (start: end: step
). step argument helps us to skip the iteration in the for-loop, so we will skip one iteration and print odd numbers.
Let’s see it with the help of an example:
Source Code:
for i in range(1, 101, 2):
print(i, end=",")
Output:
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,
Print Odd Numbers from 1 to 100 in Python Using while-loop
Algorithm:
- Take one variable called “num” initialize it with 0 (
num = 0
). - Iterate using while-loop as long as
num
is less or equal to 100 (while num <= 100:
) - Inside the while-loop check
if num % 2 != 0
then do step-4 print(num)
- Outside of if-block, increment
num
by 1 (num = num + 1
) - End program.
Source Code:
num = 0
while num <= 100:
if num % 2 != 0:
print(num, end=",")
num+=1
Output:
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,
Print Odd Numbers from 1 to 100 in Python Using Function
Algorithm:
- Define a function that will take one argument (
def print_odd(num)
) - Inside function body takes a for-loop from 1 to
num
(for i in range(1, num+1)
). - Inside the for-loop, check
if i % 2 != 0:
then do step-4 print(i)
- Outside of the function Take variable
n = 100
- Call a function and pass variable
n
(print_odd(n)
) - End program
Source Code:
def print_odd(num):
for i in range(1, num+1):
if i % 2 != 0:
print(i,end=",")
n = 100
print_odd(n) # calling a function
Output:
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63,65,67,69,71,73,75,77,79,81,83,85,87,89,91,93,95,97,99,
Now let us modify all three above programs and write them by taking input from the user.
Print Odd Numbers from 1 to N in Python Using for-loop
Source Code:
num = int(input("Enter a number: "))
for i in range(1,num+1):
if i % 2 != 0:
print(i, end=',')
Output:
Enter a number: 10
1,3,5,7,9,
Print Odd Numbers from 1 to N in Python Using while-loop
Source Code:
num = int(input("Enter a number: "))
i = 0
while i<=num:
if i % 2 != 0:
print(i,end=',')
i+=1
Output:
Enter a number: 50
1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41,43,45,47,49,
Print Odd Numbers from 1 to N in Python Using Function
Source Code:
def print_odd(num):
for i in range(1, num+1):
if i % 2 != 0:
print(i,end=",")
n = int(input("Enter a number: "))
print_odd(n)
Output:
Enter a number: 20
1,3,5,7,9,11,13,15,17,19,
Print Odd Numbers in the given Range
Source Code:
def print_odd(num1,num2):
for i in range(num1, num2+1):
if i % 2 != 0:
print(i,end=",")
n1 = int(input("Enter a number-1: "))
n2 = int(input("Enter a number-2: "))
print_odd(n1,n2)
Output:
Enter a number-1: 10
Enter a number-2: 20
11,13,15,17,19,