多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Python 程序:查找间隔内的阿姆斯特朗数 > 原文: [https://www.programiz.com/python-programming/examples/armstrong-interval](https://www.programiz.com/python-programming/examples/armstrong-interval) #### 查找两个整数之间的所有阿姆斯特朗数的示例。 为了解决这个问题,我们使用了嵌套循环和`if`语句。 要理解此示例,您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题: * [Python `if...else`语句](/python-programming/if-elif-else) * [Python `while`循环](/python-programming/while-loop) * * * 一个正整数称为阿姆斯特朗数`n`,如果 ```py abcd... = an + bn + cn + dn + ... ``` 例如, ```py 153 = 1*1*1 + 5*5*5 + 3*3*3 // 153 is an Armstrong number. ``` 访问此页面以了解如何[在 Python](/python-programming/examples/armstrong-number "Python Armstrong Number") 中检查数字是否为阿姆斯特朗数。 ## 源代码 ```py # Program to check Armstrong numbers in a certain interval lower = 100 upper = 2000 for num in range(lower, upper + 1): # order of number order = len(str(num)) # initialize sum sum = 0 temp = num while temp > 0: digit = temp % 10 sum += digit ** order temp //= 10 if num == sum: print(num) ``` **输出** ```py 153 370 371 407 1634 ``` 在这里,我们在变量`lower`中设置了下限 100,在变量`upper`中设置了上限 2000。 我们已经使用循环从变量`lower`迭代到`upper`。 在迭代中,将`lower`的值增加 1,并检查其是否为阿姆斯特朗数。 您可以通过更改变量`lower`和`upper`来更改范围并进行测试。 注意,变量`lower`应当小于`upper`,此程序才能正常工作。