用Python输出自除数
时间: 2023-06-18 19:04:38 浏览: 89
自除数是指一个数可以被它的每个数位整除的数,例如128是自除数,因为1、2、8都可以整除128。
以下是一个Python程序,可以输出给定范围内的所有自除数:
```python
def is_self_dividing(num):
for digit in str(num):
if digit == '0' or num % int(digit) != 0:
return False
return True
def self_dividing_numbers(left, right):
res = []
for num in range(left, right+1):
if is_self_dividing(num):
res.append(num)
return res
print(self_dividing_numbers(1, 100))
```
输出结果为:
```
[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22, 24, 33, 36, 44, 48, 55, 66, 77, 88, 99]
```
这个程序定义了两个函数,`is_self_dividing`用于判断一个数是否为自除数,`self_dividing_numbers`用于返回给定范围内的所有自除数。在`is_self_dividing`函数中,我们首先将数字转换为字符串,然后逐位检查是否可以整除,如果有一位不能整除或者数字中包含0,则该数字不是自除数。在`self_dividing_numbers`函数中,我们遍历给定范围内的所有数字,将自除数添加到结果列表中,最后返回该列表。
阅读全文