# Program for Armstrong Number
# this program prints wrong results in jupyter but running correct in online ide
import math
print("this program is for armstrong number\n")
m=0
p=0
n=int(input("Enter any number: \n"))
y=n
while y!=0:
y=y/10
p+=1
y=n
while n!=0:
x=n%10
m+=math.pow(x,p)
n=n/10
if y==m:
print("The given number is an armstrong number\n")
else:
print("The given number is not an armstrong number\n")
答案 0 :(得分:0)
您应该使用整数除法,而不是“ /”。将y=y/10
和n=n/10
替换为y=y//10
和n=n//10
。
使用/
进行整数除法可能-如果您恰好运行Python 2,则在{3}中,/
是常规的(数学)除法,其11/10 = 1.1(不是 1)。请注意,整数除法运算符//
在Python2和Python3中均可使用,如果要整数除法,请始终使用该运算符。