怎么写这个的程序,尽量用简单一点的函数

输入一个正整数m,判断该整数是否为完全平方数。

img


可以看看我这个为什么不对吗

你这个else:应与for配对,而不是与if配对
请采纳

m=int(input())

for i in range(1,m+1):
    if i**2 == m:
        print('yes')
        break
else:
    print('no')

a=int(input())
b=a**0.5//1
if b**2==a:
    print('yes')
else:
    print('no')

写成下面也行:

b=int(a**0.5)

你也可以自己循环从1到a的开方,看是否有数的平方刚好等于a,都行。


import math
while True:
    m = int(input("请输入一个正整数"))
    print("{} 是一个完全平方数".format(m)) if int(math.sqrt(m)) ** 2 == m else print("{} 不是一个完全平方数".format(m))

img

如果觉得答案对你有帮助,请点击下采纳,谢谢~

平方数的个位数字只能是 0, 1,4,5,6,9 。偶数的平方是4的倍数;奇数的平方是4的倍数加1。首先排除0,1,后面的就是判断奇数偶数,然后与4做除法

num = int(input('请输入一个正整数:'))
for i in range(1,num+1):
     if i**2 == num:
          print(num,'是完全平方数')
          break
if i**2 != num:
     print(num,'不是完全平方数')