【python】计算水仙花数
- "水仙花数"是指一个3位数,它的三个位上的数字的3次幂之和等于它本身。例如,"153"就是一个水仙花数,因为1^3 + 5^3 + 3^3
= 153。 - 以下是一个Python代码示例,用于计算并打印出所有的三位数水仙花数:
for num in range(100, 1000):# 将数字转换为字符串,方便获取每一位数字str_num = str(num)# 计算每一位数字的立方和cube_sum = sum(int(digit)**3 for digit in str_num)# 如果立方和等于原数字,则打印出来if cube_sum == num:print("水仙花数是:", num)
- 这段代码会遍历所有的三位数(从100到999),对于每一个数字,它会计算每一位数字的立方和,然后检查这个和是否等于原数字。如果等于,就打印出这个数字。
sum(int(digit)**3 for digit in str_num),这一句命令,会把已经转为字符串的数字的每一位数进行立方再相加
比如num = 123,
digit=1,1³,
digit=2,2³,
digit=3,3³,
cube_sum = 1³+2³+3³ = 36
数字转字符串的好处就是不用再去把个位数、十位数、百位数的数字给算出来