首页 > 解决方案 > 代码找不到平方数(python初学者)

问题描述

嗨,我是一个完整的初学者,谁能帮我解决为什么我的代码不起作用?

-尝试数字是否为平方数(真/假)

import math 

def is_square(n): 

    if n >= 0:
        if math.sqrt (n).is_integer :
            print (n,"is a square number")
            return True
            
        else:
            print (n," is not a square number ")
            return False
          
    else: 
        print ( n,":","Negative numbers cannot be square numbers")
        return False

标签: python

解决方案


句法: variable. is_integer()

import math 

def is_square(n): 

    if n >= 0:
        if math.sqrt (n).is_integer() : # you need to call the .is_integer method
            print (n,"is a square number")
            return True
            
        else:
            print (n," is not a square number ")
            return False
          
    else: 
        print ( n,":","Negative numbers cannot be square numbers")
        return False
is_square(-4)
is_square(4)
is_square(5)
-4 : Negative numbers cannot be square numbers
4 is a square number
5  is not a square number 

为了获得更好的洞察力,请尝试获取输出:

print(math.sqrt (5).is_integer(), '\n' ,math.sqrt (5).is_integer)
False 
 <built-in method is_integer of float object at 0x7f320fba2360>

推荐阅读