# [SOLVED] Function is not returning any values

## Issue

I am coding to find whether or not a number is a disarium number or not. A disarium number is a number in which it’s digits can be raised to the power of their respective positions and added to give the number.

Example1: 75 is not a disarium number, because 7^1 + 5^2 = 32 and not 75

Example2: 135 is a disarium number, since: 1^1 + 3^2 + 5^3 = 1 + 9 + 125 = 135

In my code, even though 75 is not a disarium number, nothing is returned. It’s like my function isn’t even going through my if and else statements

``````def is_disarium(number):
number = str(number)
selection_array = [int(num) for num in number]
disarium_check = 0

for i in range(len(selection_array)):
disarium_check += int(selection_array[i])**(i+1)

if disarium_check == number:
return True
else:
return False

is_disarium(75)
``````

My code (image)

## Solution

This code is currently returning False for every number because in the if statement you are comparing an integer with a string. And you can use the print command to find the return value.
Use this modified code to check whether it is working as expected.

``````def is_disarium(number):
number = str(number)
selection_array = [int(num) for num in number]
disarium_check = 0

for i in range(len(selection_array)):
disarium_check += int(selection_array[i])**(i+1)

if disarium_check == int(number):
return True
else:
return False

output = is_disarium(135)
print(output)

``````