# Python Program to Convert Decimal to Octal Problem: Write a Program in Python to convert a decimal number into its corresponding octal representation.

Example:

```Input:  8
Output: 10

Input:  15
Output: 17```

## Convert Decimal to Octal in Python using Loop

The standard way to convert a decimal to an octal is to divide the decimal by 8 until it reduces to 0.

After the division is over, if we stack the remainders in a bottom-up manner the result value will be the equivalent octal number.

``````decimal = int(input("Enter a decimal number: "))
octal = 0
ctr = 0
temp = decimal  #copying number

#computing octal using while loop
while(temp > 0):
octal += ((temp%8)*(10**ctr))  #Stacking remainders
temp = int(temp/8)             #updating dividend
ctr += 1

print("Binary of {x} is: {y}".format(x=decimal,y=octal))``````

Output:

Enter a decimal number: 15
Binary of 15 is: 17

## Convert Decimal to Octal in Python using Recursion

To convert decimal into octal using recursion, we pass the quotient (dividend/8) to the next recursive call and output the remainder value (dividend%8).

We repeat the process until the number reduces to zero (i.e. until decimal > 0).

Since recursion implements stack, the remainders get printed in a bottom-up manner and we get the equivalent octal number.

``````def dectoOct(decimal):
if(decimal > 0):
dectoOct((int)(decimal/8))
print(decimal%8, end='')

decimal = int(input("Enter a decimal number: "))
print("Octal: ", end='')
dectoOct(decimal)``````

Output:

Enter a decimal number: 8
Octal: 10

## Convert Decimal to Octal using oct()

The built-in Python method `oct()` method returns the octal representation of the decimal number passed as a parameter.

It returns an octal number in the form of `0oxyz`, where `xyz` is the actual octal number value.

``````>>> print(oct(15))
0o17``````

Comment below your doubts or suggestions if you have any.