下面是关于Python语言生成水仙花数代码示例的完整攻略。
什么是水仙花数?
所谓水仙花数,指的是一个三位数,它的各位数字的立方和等于该数字本身。例如,153就是一个水仙花数,因为1^3+5^3+3^3=153。
生成水仙花数的代码实现
以下是一个Python语言生成水仙花数的简单代码示例:
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum += (temp % 10) ** 3
temp //= 10
if sum == i:
print(i)
代码实现思路:
1.使用for循环遍历三位数范围(100~999);
2.使用while循环获取一位数的各个数字并立方之和;
3.将立方和与原数进行比较,若相等则输出。
代码示例说明
下面是两个Python语言生成水仙花数的进阶示例:
示例一
n = int(input("请输入一个整数:"))
num = list(str(n))
l = len(num)
sum = 0
for i in num:
sum += int(i) ** l
if sum == n:
print(n, "是一个水仙花数")
else:
print(n, "不是一个水仙花数")
代码实现思路:
1.用户输入一个整数;
2.将整数转换为字符串并拆分为各位数字;
3.获取数字的位数;
4.使用for循环遍历每个数字并进行立方运算并求和;
5.将立方和与原数进行比较,若相等则输出。
示例二
lst = [i for i in range(100, 1000) if i == sum(int(j) ** 3 for j in str(i))]
print(lst)
代码实现思路:
1.使用列表推导式生成三位数范围;
2.使用sum函数将每个数字的立方和求和;
3.将立方和与原数进行比较,若相等则输出。
以上两个进阶示例在实现原理上与简单示例相同,只是实现方式更加简洁,更加Pythonic。
这就是Python语言生成水仙花数的完整攻略与示例说明。希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python语言生成水仙花数代码示例 - Python技术站