函数不返回任何值
Function is not returning any values
我正在编码以查找某个号码是否为 disarium 号码。一个 disarium 数字是一个数字,其中它的数字可以提高到它们各自位置的幂并相加得到数字。
示例 1:75 不是 disarium 数,因为 7^1 + 5^2 = 32 而不是 75
示例 2:135 是一个 disarium 数,因为:1^1 + 3^2 + 5^3 = 1 + 9 + 125 = 135
在我的代码中,即使 75 不是 disarium 数字,也不会返回任何内容。就像我的函数甚至没有通过我的 if 和 else 语句
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)
此代码目前对每个数字 returning 为 False,因为在 if 语句中您将整数与字符串进行比较。并且您可以使用 print 命令查找 return 值。
使用此修改后的代码检查它是否按预期工作。
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)
我正在编码以查找某个号码是否为 disarium 号码。一个 disarium 数字是一个数字,其中它的数字可以提高到它们各自位置的幂并相加得到数字。
示例 1:75 不是 disarium 数,因为 7^1 + 5^2 = 32 而不是 75
示例 2:135 是一个 disarium 数,因为:1^1 + 3^2 + 5^3 = 1 + 9 + 125 = 135
在我的代码中,即使 75 不是 disarium 数字,也不会返回任何内容。就像我的函数甚至没有通过我的 if 和 else 语句
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)
此代码目前对每个数字 returning 为 False,因为在 if 语句中您将整数与字符串进行比较。并且您可以使用 print 命令查找 return 值。 使用此修改后的代码检查它是否按预期工作。
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)