思考:

def isNarcissisticNumber(num): """ 判断一个数是否为水仙花数 :param num: 待判断的数 :return: True或False """ # 获取每一位数字 digit1 = num // 100 digit2 = (num // 10) % 10 digit3 = num % 10 # 计算立方和 sum = digit1 ** 3 + digit2 ** 3 + digit3 ** 3 # 判断是否为水仙花数 if sum == num: return True else: return False

测试

print(isNarcissisticNumber(153)) # True print(isNarcissisticNumber(370)) # True print(isNarcissisticNumber(407)) # True print(isNarcissisticNumber(123)) # False

输出结果:

True

True

True

False

代码说明:

首先定义一个函数isNarcissisticNumber(num),用于判断一个数是否为水仙花数。

接着,我们需要获取这个数的每一位数字,可以使用整除和取余运算来实现。例如,num // 100可以获取num的百位数字,(num // 10) % 10可以获取num的十位数字,num % 10可以获取num的个位数字。

然后,我们需要计算这些数字的立方和,即digit1 ** 3 + digit2 ** 3 + digit3 ** 3。

最后,我们判断立方和是否等于原数,如果相等,则说明这个数是水仙花数,返回True;否则,返回False。

最后,我们对函数进行了测试,输出结果符合预期。

综上所述,我们成功地实现了判断水仙花数的功能。


原文地址: https://www.cveoy.top/t/topic/b5xW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录