【发布时间】:2022-06-15 22:48:10
【问题描述】:
我编写了一个程序来检查python中的数字是否为amstrong。但它不起作用。谁能看看这段代码并告诉我哪里出了问题。
# defining a power function. I am just defining my own power function for using it in my code.
def power(a,b):
c = 1
for i in range(b):
c*=a
return c
# taking user input
inp = int(input("enter a number :"));
# I am finding the length of the input here. So here i am converting the input to a string and finding the length using len function. Then converting it to a number again.
inp = str(inp);
len = len(inp);
inp = int(inp);
add = 0;
# storing the input in another variable.
inpu = inp;
while(inp!=0):
amst = inp%10;
add+=power(amst,len);
inp = inp//10;
if inp==inpu:
print("It is an amstrong number");
else:
print("It is not amstrong number");
在这里,当我输入 123(不是 amstrong 数字)时,它正在打印“它不是 amstrong 数字”,但是当我输入 153(amstrong 数字)时,输出再次相同。不仅适用于 153,而且适用于所有 amstrong 数字。为什么是这样。这是因为我的幂函数吗?请回复
【问题讨论】:
-
当你使用调试器时,first 行是什么?
-
我认为这个问题不需要使用
power。
标签: python