代码在jupyter笔记本中打印不正确的输出,但在在线IDE上正确运行

时间:2018-07-24 10:26:37

标签: python ipython jupyter-notebook

# 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")

1 个答案:

答案 0 :(得分:0)

您应该使用整数除法,而不是“ /”。将y=y/10n=n/10替换为y=y//10n=n//10

使用/进行整数除法可能-如果您恰好运行Python 2,则在{3}中,/是常规的(数学)除法,其11/10 = 1.1(不是 1)。请注意,整数除法运算符//在Python2和Python3中均可使用,如果要整数除法,请始终使用该运算符。