输出具体的自幂数类型。如下图所示:

img

import math
while True:
    n=int(input("请输入自幂数位数:\n"))
    if(n == 1):
        print("独身数:")
        print("0\t")
    elif(n == 2):
        print("两位自幂数:")
        print("没有自幂数!")
    elif(n == 3):
        print("水仙花数:")
    elif(n == 4):
        print("四叶玫瑰数:")
    elif(n == 5):
        print("五角星数:")
    elif(n == 6):
        print("六合数:")
    elif(n == 7):
        print("北斗七星数:")
    elif(n == 8):
        print("八仙数:")
    elif(n == 9):
        print("九九重阳数:")
    elif(n == 10):
        print("十全十美数:")
    else:
        print("其它自幂数:")
    for i in range(int(math.pow(10,n-1)),int(math.pow(10,n))):
        num = 0
        for j in str(i):
            num += int(math.pow(int(j),n))
        if(i == num):
            print(i)

原文链接https://blog.csdn.net/qq_45554010/article/details/102846967

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

dl = {
    1:'独身数',
    3:'水仙花数',
    4:'四叶玫瑰数',
    5:'五角星数',
    6:'六合数',
    7:'北斗七星数',
    8:'八仙数',
    9:'九九重阳数',
    10:'十全十美数',
}
while True:
    s = input("请输入要判断的一个数:")
    n = int(s)
    if n%2==0:
        print(f'{n}是偶合数',end="")
    else:
        print(f'{n}是奇合数',end="")
    l = len(s)
    if l in dl and n == sum(int(x)**l for x in s):
        print(",",dl[l])
    else:
        print()

img

https://blog.csdn.net/qq_45554010/article/details/102846967