Python 练习题:顺序输出元素数位上各个数字的平方和大于元素本身的数

题目要求:

对于整数区间[N,M],已知:
输入说明:两个整数N和M。
输出说明:顺序输出元素数位上各个数字的平方和大于元素本身的数。
输入样例:21 25
输出样例:25
说明:例如22的数位数字为2,2,这两个数字的平方和为8,小于22,
不满足筛选条件所以不输出;25的数位数字为2,5,这两个数字平方和为29,
大于25,满足筛选条件,所以将25输出。

代码图

代码图

代码如下
'''
对于整数区间[N,M],已知:
输入说明:两个整数N和M。
输出说明:顺序输出元素数位上各个数字的平方和大于元素本身的数。
输入样例:21 25
输出样例:25
说明:例如22的数位数字为2,2,这两个数字的平方和为8,小于22,
不满足筛选条件所以不输出;25的数位数字为2,5,这两个数字平方和为29,
大于25,满足筛选条件,所以将25输出。
'''
def main():
    N,M=input('输入M和N:').split(' ')
    if int(M)<int(N):#如果用户输N,M范围不合要求,进行调整
        S=M
        M=N
        N=S
    for num in range(int(N),int(M)+1):#遍历N到M的所有数值
        result=0#收集元素数位上各个数字的平方和
        for i in str(num):
            result=result+int(i)**2
        if result>int(num):#判断是否大于元素本身的数,如果是输出
            print(num)     
main()
运行效果图

运行效果图

发布了17 篇原创文章 · 获赞 2 · 访问量 462

猜你喜欢

转载自blog.csdn.net/qq_45894553/article/details/104477749