n = int(input("" ""))
l = []
for i in range(n):
a = int(input())
l.append(a)
s=0
for i in l:
temp = i
while temp>0:
d = temp % 10
s += d**3
temp //= 10
if n == s:
print("yes")
else:
print("no")
如果数字是阿姆斯特朗数字,我正在尝试打印"是",如果不是,则打印"否"。但代码只运行else
部分。if
部分未执行,请帮忙。
您应该将if n == s:
更改为if i == s:
因为i
是要测试的数字,n
是您要测试的数字数。
正如 Damien 所说,s
应该为每个i
初始化为 0
n = int(input("" ""))
l = []
for i in range(n):
a = int(input())
l.append(a)
for i in l:
s=0
temp = i
while temp>0:
d = temp % 10
s += d**3
temp //= 10
if i == s:
print("yes")
else:
print("no")
测试部分 :
1 # input, n = how many numbers i to test
1 # input, i = number to test
yes # output