006.[自恋数字」表示的是一个正整数,它的字面值刚好等于其每个组成数字按照总个数的幂次方的总和。给定一个数字,请编写一个函数判断它是否是“自恋数字”
"""
[自恋数字」表示的是一个正整数,它的字面值刚好等于其每个组成数字按照总个数的幂次方的总和。给定一个数字,请编写一个函数判断它是否是“自恋数字”。
示例:
输入:153,输出:True。
解析:因为它一共由1,5,3这3个数字组成,1³ + 5³ +3³ = 1+125+27 = 153。
题目难度:简单
"""
def narcissistic(num: int) -> bool:
temp = 0
for item in str(num):
temp += int(item) ** len(str(num))
return True if temp == num else False
if __name__ == '__main__':
assert narcissistic(7) is True
assert narcissistic(371) is True
assert narcissistic(122) is False
assert narcissistic(4887) is False