Python 完全平方的返回计数

Python 完全平方的返回计数,python,python-3.x,Python,Python 3.x,下面的代码打印出的数字是完美的正方形。我无法显示列表中的完美方块数量。它应该返回3 squares( [[1,2,3],[4,5],[6,7,8,9]]) 实施情况如下: def squares(square): for row in square: for col in row: if col**0.5%1 ==0: print(col) 您需要保存正确结果的计数(count) 给你。在列表中累积您的完美方块,

下面的代码打印出的数字是完美的正方形。我无法显示列表中的完美方块数量。它应该返回3

squares( [[1,2,3],[4,5],[6,7,8,9]])
实施情况如下:

def squares(square):
    for row in square:
        for col in row:
            if col**0.5%1 ==0:
                print(col)

您需要保存正确结果的计数(
count


给你。在列表中累积您的完美方块,最后打印列表的长度及其内容,如下所示:

def squares(square):
    result = []
    for row in square:
        for col in row:
            if col**0.5%1 ==0:
                result.append(col)
    print(f'There are {len(result)} perfect squares: {result}')

squares( [[1,2,3],[4,5],[6,7,8,9]])
#Prints: There are 3 perfect squares: [1, 4, 9]

您可以将列表理解为:

len(如果math.sqrt(x)%1==0,[x代表平方行中的行,x代表行中的x])

或者您可以使用正常功能:

import math
def squares(square_list):
  count = 0
  for row in square_list:
    for col in row:
      if math.sqrt(col)%1 ==0:
        count+=1
  return count

len([i代表方格中的行\u如果i**0.5%1==0,则列出i代表行中的行])
谢谢。我忘了用蓄电池了。这有助于返回完美方块的数量。没问题。欢迎来到堆栈溢出。以下是接受最适合你的答案的程序。我非常感谢您对我的代码的帮助。
import math
def squares(square_list):
  count = 0
  for row in square_list:
    for col in row:
      if math.sqrt(col)%1 ==0:
        count+=1
  return count