在谷歌Foobar测试中失败,不知道为什么

2024-05-17 03:18:31 发布

您现在位置:Python中文网/ 问答频道 /正文

正在验证解决方案。。。 测试1通过! 测试2通过! 测试3失败。 测试4失败。 测试5通过! 测试6通过! 测试7失败。 测试8失败。 测试9失败。 测试10失败。在

要求:
太阳末日

谁会想到呢?世界末日装置需要大量能量。兰姆达指挥官想用太阳能阵列来补充兰姆肖普的量子反物质反应堆核心,她让你负责安装太阳能电池板。在

由于空间站外部面板的性质,所有的太阳能电池板都必须是方形的。幸运的是,你有一个非常大和平坦的太阳能材料面积,一把工业强度剪刀,和足够的MegaCorp太阳能胶带(TM)把任何多余的面板材料拼成更多的正方形。例如,如果太阳能材料的总面积为12平方码,则可以制作一个3x3平方米的面板(总面积为9)。这将留下3平方码,所以你可以把它们变成三块1x1的方形太阳能电池板。在

写一个函数答案(面积)作为它的输入一个单一的测量单位代表你的太阳能电池板的总面积(在1到1000000之间),并返回一个你可以从这些太阳能电池板中得到的最大正方形的面积列表,从最大的正方形开始。所以,按照上面的例子,答案(12)将返回[9,1,1,1]。在

我的代码是:

import math

def answer(area):
    list_num=[]
    if area<=0:
        print "Please enter a positive integer"
    else:
        for time in range(1,5):
            list_total=[thing**2 for thing in range(1,int(math.sqrt(area)+1))]
            if len(list_total)!=0:
                list_num.append(list_total[-1])
                area-=list_total[-1]
            else:
                list_num.append(0)

        print "(int list) %s" % (list_num)
        return list_num

Tags: 答案面板areamathnumlisttotal材料
1条回答
网友
1楼 · 发布于 2024-05-17 03:18:31
def count(area):
  result = []
  while area > 0:
    value = int(area ** 0.5)
    square = value ** 2
    result.append(square)
    area -= square
  return result

相关问题 更多 >