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?

**Table of Contents**hide

## What is Odd Number?

An integer number that is not divisible by 2 is known as an odd number.

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
then do step-3`if i % 2 != 0:`

`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
is less or equal to 100 (`num`

)`while num <= 100:`

- Inside the while-loop check
then do step-4`if num % 2 != 0`

`print(num)`

- Outside of if-block, increment
by 1 (`num`

)`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
then do step-4`if i % 2 != 0:`

`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,
```