我有这个示例测验问题,但不确定如何使用while循环来处理它。
实现nearest_square函数。该函数采用整数参数限制,并返回小于限制的最大平方数。
平方数是整数乘以其自身的乘积,例如36
是平方数,因为它等于6*6
。
编写此代码的方法不止一种,但我建议您使用while循环!
以下是您可以复制以测试代码的测试用例。随意写下额外的测试!
test1 = nearest_square(40)
print("expected result: 36, actual result: {}".format(test1))
我设法解决了这个问题。谢谢。
def nearest_square(limit):
limit = limit ** (0.5)
y = int (limit)
while y < limit :
y = y*y
return y
test1 = nearest_square(40)
print("expected result: 36,actual result:{}".format(test1))
答案 0 :(得分:1)
尝试使用以下方法返回给定composer require phpoffice/phpword:dev-develop
参数的最近的方格:
limit
答案 1 :(得分:0)
这是我用while循环的方式:
def nearest_square(value):
i = 2
while i < value:
square = i*i
if square == value:
return square
i+=1
value-=1
print (nearest_square(40))
答案 2 :(得分:-1)
def nearest_square(value):
i = 1
result = 1
while (result < value):
if (result == value):
return result
i+=1
result = i*i
return (i-1)*(i-1)
print(nearest_square(82))
答案 3 :(得分:-1)
这是我的代码:
`
def nearest_square(limit):
while limit > 3:
i = 2
while i <= limit//2:
square = i*i
if square == limit:
return square
else:
i += 1
limit -= 1
return 1
`
答案 4 :(得分:-1)
这就是我所做的。
def nearest_square(limit):
y = 0
while y**2 < limit:
y+=1
if y**2 == limit:
return(y)
return(y-1)
print(nearest_square(40))
答案 5 :(得分:-1)
这是我的实现。
这个是while while循环
def near1(limit):
i = 1
square = 1
while (i*i) < limit:
square = i*i
i = i+1
return square
但最简单的是下面。 简单的数学和模数
import math
def near(limit):
i = int(math.pow(limit, .5))
return i*i
答案 6 :(得分:-2)
这就是我所做的。
import math
def nearest_square(limit):
a = math.sqrt(limit)
while type(a) != type(int()):
limit -=1
return limit