- Python Program Examples
- Python Program Examples
- Python Print Hello World
- Python Get Input from User
- Python Add Two Numbers
- Python Check Even or Odd
- Python Check Prime or Not
- Python Check Alphabet or Not
- Python Check Vowel or Not
- Python Check Leap Year or Not
- Python Check Reverse equal Original
- Python Check Positive Negative Zero
- Python Add Subtract Multiply Divide
- Python Make Simple Calculator
- Python Add Digits of Number
- Python Find Sum of Natural Numbers
- Python Find Average Percentage
- Python Find Average of n Numbers
- Python Find Grade of Student
- Python Print Multiplication Table
- Python Find Square Root of Number
- Python Print Prime Numbers
- Python Solve Quadratic Equation
- Find Numbers Divisible by Number
- Python Find Factors of Number
- Python Find Reverse of Number
- Python Swap Two Numbers
- Python Swap Two Variables
- Python Find Largest of Two Number
- Python Find Largest of Three Number
- Python Find Factorial of a Number
- Python Find HCF & LCM
- Python Find Area of Square
- Python Find Area of Rectangle
- Python Find Area of Triangle
- Python Find Area of Circle
- Python Find Perimeter of Square
- Python Find Perimeter of Rectangle
- Python Find Perimeter of Triangle
- Python Find Circumference of Circle
- Python Print ASCII Values
- Python Print Fibonacci Series
- Python Display Powers of 2
- Python Generate Armstrong Numbers
- Python Check Armstrong or Not
- Python Check Palindrome or Not
- Python Find nCr & nPr
- Python Kilometres to Miles
- Python Fahrenheit to Celsius
- Python Celsius to Fahrenheit
- Python Decimal to Binary
- Python Decimal to Octal
- Python Decimal to Hexadecimal
- Python Binary to Decimal
- Python Binary to Octal
- Python Binary to Hexadecimal
- Python Octal to Decimal
- Python Octal to Binary
- Python Octal to Hexadecimal
- Python Hexadecimal to Decimal
- Python Hexadecimal to Binary
- Python Hexadecimal to Octal
- Python Display Calendar
- Python Print Pattern Programs
- Python Print Floyd Triangle
- Python 1D Array Program
- Python Add Two Matrices
- Python Subtract Two Matrices
- Python Transpose Matrix
- Python Multiply Matrices
- Python Print String
- Python Find Length of String
- Python Compare Two Strings
- Python Copy String
- Python Concatenate String
- Python Reverse a String
- Python Remove Vowels from String
- Remove Punctuations from String
- Python Remove Word in String
- Python Count Character in String
- Python Count Each Vowels
- Python Count Word in Sentence
- Python Remove Spaces from String
- Python Sort String in Alphabetical
- Python Uppercase to Lowercase
- Python Lowercase to Uppercase
- Python Different Set of Operations
- Python Swap Two Strings
- Python Generate Random Numbers
- Python Read a File
- Python Write to File
- Python Copy Files
- Python Merge Two Files
- Python List Files in Directory
- Python Delete Files
- Python Print Date and Time
- Python Get IP Address
- Python Shutdown/Restart PC
- Python More Programs
- Python Sum of n Numbers
- Python Check Anagram Strings
- Python Add Binary Numbers
- Python Append Text to File
- Python Insert Element in List
- Python Delete Element from List
- Python Binary Search
- Python Bubble Sort
- Python Simple Interest
- Python Capitalize Character
- Python Capitalize Word in String
- Python Capitalize Word in File
- Python Check Perfect Number
- Python Days into Years, Weeks
- Python Counts Characters in File
- Python Count Digits in Number
- Python Count Even/Odd in List
- Python Positive/Negative in List
- Python Count Repeated Characters
- Python Count Words in File
- Python Delete Line from File
- Python Extract Number from String
- Python Largest Number in List
- Python Smallest Number in List
- Python Second Largest in List
- Python Second Smallest in List
- Python Tutorial
- Python Tutorial
- Give Online Test
- All Test List
- Python Online Test

In this article, we've created some programs in Python, to convert any binary number entered by user at run-time to its equivalent octal value. Here are the list of programs:

- Binary to Octal with User-defined Code
- Binary to Octal using
**int()**and**oct()**Methods - Shortest Python Code for Binary to Octal Conversion

**Note - **Before starting these programs, if you're not aware about steps used for the conversion, then refer
to Binary to Octal Conversion Methods, Steps, Formula to
get every required things.

To convert binary to octal number in Python, you have to ask from user to enter a number in binary number system to convert that number into octal number system as shown in the program given below.

The question is, **write a Python program to convert binary to octal using while loop**. Here is its answer:

# ----codescracker.com---- print("Enter the Binary Number: ") binarynum = int(input()) octaldigit = 0 octalnum = [] i = 0 mul = 1 chk = 1 while binarynum!=0: rem = binarynum % 10 octaldigit = octaldigit + (rem * mul) if chk%3==0: octalnum.insert(i, octaldigit) mul = 1 octaldigit = 0 chk = 1 i = i+1 else: mul = mul*2 chk = chk+1 binarynum = int(binarynum / 10) if chk!=1: octalnum.insert(i, octaldigit) print("\nEquivalent Octal Value = ", end="") while i>=0: print(str(octalnum[i]), end="") i = i-1 print()

Here is its initial output:

Now supply any binary number as input say **11101** and press `ENTER`

key to convert it into
its equivalent octal value, then print the octal value on output as shown in the snapshot given below:

The **insert()** method is used to insert an element to the list. That is, the following statement:

octalnum.insert(i, octaldigit)

states that the value of **octaldigit** gets initialized to **octalnum[i]**.

The dry run of above program with user input **11101** goes like:

- Initial values,
**binarynum=11101**(entered by user),**octaldigit=0**,**i=0**,**mul=1**,**chk=1** - The condition (of
*while loop*)**binarynum!=0**or**11101!=0**evaluates to be true, therefore program flow goes inside the loop - Inside the loop, the first statement, that is

`rem = binarynum % 10`

gets executed **binarynum%10**or**11101%10**or**1**(last digit of 11101) gets initialized to**rem**. So**rem=1****octaldigit + (rem*mul)**or**0 + (1*1)**or**1**gets initialized to**octaldigit**. So**octaldigit=1**- Now the condition (of
*if*block)**chk%3==0**or**1%3==0**evaluates to be false, therefore program does not goes to its body, rather it goes to its**else**'s counterpart and**mul*2**or**1*2**or**2**gets initialized to**mul**. So**mul=2** **chk+1**or**1+1**or**2**gets initialized to**chk**. So**chk=2****int(binarynum/10)**or**int(11101/10)**or**1110**gets initialized to**binarynum**. So**binarynum=1110**- The condition of
**while loop**again gets evaluated with new value of**binarynum** - That is, the condition
**binarynum!=0**or**1110!=0**evaluates to be true, therefore program flow again goes inside the loop. This process continues until the condition evaluates to be false - In this way, the equivalent octal value of value stored in
**binarynum**gets stored in**octalnum**list after exiting from the loop

The following condition:

if chk%3==0:

is applied to check for three-three pair of binary digits. And the following block of code:

if chk!=1: octalnum.insert(i, octaldigit)

is used to insert the value of **octaldigit** to **octalnum[i]**, only if the value of **chk** is not
equal to **1**. The value of **chk** does not equal to **1** after exiting from the **while loop**
indicates that the program flow does not goes inside the **if**'s body before exiting from the loop.

Now print the value of **octalnum** list one by one starting from its last index. The **end=** is used to
skip printing of an automatic newline using **print()**

This is the modified version of previous program. This program uses **string** instead of **list**, which is
a better way in Python to convert any binary number to its equivalent octal value.

# ----codescracker.com---- print("Enter the Binary Number: ", end="") bnum = int(input()) odig = 0 mul = chk = 1 onum = "" while bnum!=0: rem = bnum % 10 odig = odig + (rem * mul) if chk%3==0: onum = onum + str(odig) mul = chk = 1 odig = 0 else: mul = mul*2 chk = chk+1 bnum = int(bnum / 10) if chk!=1: onum = onum + str(odig) print("\nEquivalent Octal Value = ", onum[::-1])

Here is its sample run with user input, **11000111011** as binary number:

**Note - **The **str()** method is used to convert any type of value to a string type value.

This program uses **int()** and **oct()** methods to convert binary to octal. Using **input()** to receive
any input from user, treats the input as a string type value by default.

Therefore using **int()** with 2 as its second argument, converts the string to an integer type value with base
two, that is, the input gets converted into a binary number. And **oct()** converts the value of **onum** to its
equivalent octal value.

# ----codescracker.com---- print("Enter a Binary Number: ", end="") bnum = input() onum = int(bnum, 2) onum = oct(onum) print("\nEquivalent Octal Value = ", onum)

Here is its sample run with user input, **10111**:

**Note - **To print only **27**, that is, if you want to skip first two characters from octal number, then
replace the following statement:

print("\nEquivalent Octal Value = ", onum)

with the statement given below:

print("\nEquivalent Octal Value = ", onum[2:])

Now the output with same user input looks like:

This is the shortest Python code to convert binary to octal. **[2:]** is used to print elements of **bnum**
starting from its second index.

bnum = input() print(oct(int(bnum, 2))[2:])

Here is its sample run with user input, **1100110**: