对python无感但要学 2022-12-23 00:07 采纳率: 75%
浏览 40
已结题

很“有趣”的python问题

123321 是一个非常特殊的数,从左边读和从右边读是一样的,称这样的数为回文数。输人一个正整数n(1≤n≤54),编程求各位数字之和等于n的5位和6位十进制回文数。按从小到大的顺序输出满足条件的整数。如果输人的数不在指定的范围,输出“轻人错误,请重新输入!,如果没有各位之和与输人的数相等的5位和6位回文数,输“无满足条件的数!

  • 写回答

3条回答 默认 最新

  • 请叫我问哥 新星创作者: python技术领域 2022-12-23 12:50
    关注
    while True:
        try:
            n = int(input())
            if 1<=n<=54: break
            print("输入错误,请重新输入!")
        except:
            print("输入错误,请重新输入!")
    if n == 1:
        print("无满足条件的数!")
    else:
        res = []
        for i in range(1,10):
            for j in range(10):
                for k in range(10):
                    if i*2+j*2+k==n:
                        res.append(i*10001+j*1010+k*100)
                    elif (i+j+k)*2==n:
                        res.append(i*100001+j*10010+k*1100)
    if res:
        print(*sorted(res))
    else:
        print("无满足条件的数!")                   
    
    本回答被专家选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月3日
  • 专家已采纳回答 12月26日
  • 创建了问题 12月23日