如何用最基础的python来表达完全平方数呢?

img


# By yangbocsu 2021.09.25

x = int(input())  # 输入一个正整数  1 2 3 4

#正整数  1 2 3 4
flag = False
for i in range(0,x+1):
    if i*i == x:    #找到完全平均数
        flag = True
        break
    
if flag == True:
    print("yes")
else:
    print("no")
        

1、开方
2、取整
3、再平方

如果这是一个完全平方数,那么最后得到的结果应该还是这个数。
举例子
输入9 开方后得3,取整后得3,再平方得9,与输入相同,这是一个完全平方数
输入2 开方后得1.414 取整后 得1 再平方得1 与输入不同,这不是一个完全平方数。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
"""
@author: Roc-xb
"""
import math

if __name__ == '__main__':
    N = int(input("请输入一个正整数:"))
    a = int((math.sqrt(N)))
    if a * a == N:
        print("yes")
    else:
        print("no")