python判断自除数代码
时间: 2023-05-15 09:05:47 浏览: 307
以下是 Python 判断自除数的代码:
```python
def is_self_dividing(num):
for digit in str(num):
if digit == '0' or num % int(digit) != 0:
return False
return True
```
这个函数接受一个整数作为参数,返回一个布尔值,表示这个整数是否是自除数。自除数是指一个数的每个数字都能整除这个数本身。
相关问题
Python编写自除数
自除数是指一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如128是一个自除数,因为128能被1、2、8整除。下面是一个用Python编写的判断自除数的函数selfDivisor(num)的示例代码:
```python
def selfDivisor(num):
if '0' in num:
return False
for i in num:
if int(num) % int(i) != 0:
return False
else:
return True
n = int(input())
for i in range(1,n+1):
if selfDivisor(str(i)):
print(i, end=' ')
```
这段代码首先定义了一个函数selfDivisor(num),用来判断一个数是否为自除数。函数中使用了if语句来判断是否含有数字0,如果含有,则返回False。然后使用for循环遍历该数的每一位数字,判断该数是否能被每一位数字整除,如果不能整除,则返回False,否则返回True。在主程序中,首先输入一个数n,然后使用for循环从1到n遍历每一个数,调用selfDivisor函数判断是否为自除数,如果是,则输出该数。
编写python代码:一个不含0的数,如果它能被它的每一位除尽,则它是一个自除数。例如128是一个自除数,因为128能被1、2、8整除。编写函数selfDivisor(num)判断num是否为自除数,使用该函数输出不大于N的所有自除数。 (注意,含有数字0的数不是自除数)
好的,下面是函数selfDivisor的代码实现:
```python
def selfDivisor(num):
for digit in str(num):
if digit == '0' or num % int(digit) != 0:
return False
return True
def findSelfDivisors(N):
result = []
for num in range(1, N+1):
if selfDivisor(num):
result.append(num)
return result
```
函数selfDivisor传入一个整数num,判断它是否为自除数。它首先将num转换为字符串,然后遍历每一位数字,如果该位数字为0或者num不能被该位数字整除,则返回False,否则返回True。
函数findSelfDivisors传入一个整数N,返回不大于N的所有自除数。它遍历1到N的所有数字,调用selfDivisor检查每个数字是否为自除数,是的话就加入到结果列表中。最后返回结果列表。
你可以这样调用函数来获得不大于100的所有自除数:
```python
print(findSelfDivisors(100))
```
运行结果为:
```
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22, 24, 33, 36, 44, 48, 55, 66, 77, 88, 99]
```
这些数字都可以被它们的每一位数字整除,不包含数字0。
阅读全文