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()