题目写不下了,补充下:
一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如,128是个自除数,因为128 能被1、2、8整除。编写函数is_self_Divisor(num),判断 num 是否为自除数。要求用户输人一个数n,调用自定义函数,实现输出不大于n的所有自除数,(注意,含有数字0的数不是自除数)。
num = int(input("请输入一个不含0的数字"))
is_chued = []
def is_self_Divisor(num):
for i in range(0,num):
if i > 100:
if ((i // 100) != 0) and ((i // 10 % 10)) != 0 and ((i % 10) != 0):
if ((i % (i // 100) == 0) and (i % (i // 10 % 10)==0) and (i%(i % 10 ) ==0)):
is_chued.append(i)
elif i > 10:
if ((i // 10 % 10)) != 0 and ((i % 10) != 0):
if (i % (i // 10 % 10))==0 and (i % ( i % 10 )) ==0:
is_chued.append(i)
elif i > 0:
if ((i % 10) != 0):
if (i % (i % 10)) == 0:
is_chued.append(i)
is_self_Divisor(num)
print(is_chued)
不太确定这样做是否完全正确,在1000以内应该是可以找到想要的数字的。如果有好的方法可以分享下,欢迎交流