[英]Why is the output always the same?
我的任務是檢查一個數字(最多八位)的各個數字的立方是否等於輸入的數字(必須保留為字符串)。 例如,215 將返回 2 x 2 x 2 + 1 x 1 x 1 + 5 x 5 x 5 = 134(不正確)。
該程序將永遠繼續,直到輸入 0。 我明白我必須在主程序之前做一個函數。 但是即使我輸入 0 我的程序也不會中斷......
def sum_of_cubes(num):
num_string = str(num)
sum = 0
for i in num_string:
digit = int(i)
cube = digit * digit * digit
sum = sum + cube
return sum
def main():
while True:
number = input("Enter a number (max 8 digits): ")
result = sum_of_cubes(number)
print(result)
number_result= str(result)
if result == number:
print("Yes")
if result!= number:
print("No")
if number=='0':
break
主要的()
您應該將立方數添加到 for 循環內的總和中。 您目前將它放在外面,因此它只會添加最后一位數字的立方數。 試試這個:
. . .
sum = 0
for i in num_string:
digit = int(i)
cube = digit * digit * digit
sum = sum + cube
return sum
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.