用python编写一个generator函数, 它的每一位的四次方之和是它自己。
时间: 2024-11-25 22:15:41 浏览: 12
在Python中,我们可以创建一个生成器函数(Generator Function),它用于按需计算并返回一系列值,而不是一次性生成所有结果。下面是一个简单的例子,该函数会生成满足每一位数字的四次方之和等于原数本身的正整数:
```python
def square_sum_generator(n):
# 使用while循环,从1开始逐位检查直到n
i = 1
while True:
# 将i转换为字符串以便操作每一位
digits = [int(d) for d in str(i)]
# 计算当前数字每位的四次方和
digit_sum = sum([d ** 4 for d in digits])
# 如果和等于原始数字,yield结果
if digit_sum == i:
yield i
else:
# 如果不等于,继续下一个数字
i += 1
# 创建生成器实例并迭代找到符合条件的数
gen = square_sum_generator(100)
for num in gen:
print(num)
#
阅读全文