第11759题 单选
寻找水仙花数的Python程序中,横线处应填入哪段代码?

水仙花数是指一个n位数(n≥3),其每位数字的n次幂之和等于它本身。下面Python寻找水仙花数的程序中,横线处应该填写的代码是:

def is_narcissistic_num(num):
    str_num = str(num)
    num_digits = len(str_num)
    _____________
    return num == sum_of_powers
for i in range(100, 10000):
    if is_narcissistic_num(i):
        print(i, "是水仙花数")
A

sum_of_powers = sum(int(digit) ** num_digits for digit in num)

B

sum_of_powers = sum(int(digit) ** num for digit in str_num)

C

sum_of_powers = sum(int(num) ** num_digits for digit in str_num)

D

sum_of_powers = sum(int(digit) ** num_digits for digit in str_num)