我正在編碼以查找一個數字是否是一個 disarium 數字。disarium 數字是一個數字,其中它的數字可以提高到各自位置的冪并添加以給出數字。
示例 1:75 不是 disarium 數,因為 7^1 5^2 = 32 而不是 75
示例 2:135 是一個數字,因為: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)
我的代碼(圖片)
uj5u.com熱心網友回復:
此代碼當前為每個數字回傳 False,因為在 if 陳述句中您將整數與字串進行比較。并且可以使用 print 命令來查找回傳值。使用此修改后的代碼檢查它是否按預期作業。
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/429411.html
