生成从1到n的正方形列表

时间:2013-07-08 03:00:36

标签: python

编写一个名为square的函数,它接受一个名为n的参数。如果n是正整数,则该函数返回一个列表,该列表包含从1到n的数字的平方。否则(即,如果n不是正整数),该函数应该返回一个空列表。

即使使用无意义的参数调用函数,此函数也能正常工作。换句话说,诸如square('Iowa'),square(range(10))和square([1,2,3])之类的函数调用应该返回一个空列表。

def sqrt(x):     ans = 0     如果x> = 0:         而ans * ans< X:             ANS + = 1         如果ans * ans == x:return ans;

return -1;

def square(n):     I = 0     blist = []     ans = list(范围(1,n))

if (n < 0):
    return blist
if isinstance(ans, str):
    return blist
while( i  < len(ans)):
    if(sqrt(ans[i])!= -1):
        blist.append(ans[i])
    i = i+1
return blist

i = square('boy') 打印(ⅰ)

1 个答案:

答案 0 :(得分:4)

要定义一个功能,你可以

def squares(n): # Where n is the parameter/argument

要检查n是整数还是字符串(如Iowa)或列表(如range(10)),请使用isinstance(提示:函数返回True或False)。在此处使用if/else语句确定该函数是返回空列表[]还是继续:

使用另一个if/else语句确定数字是正数还是负数(如果数字大于0则为正数, else 为负数)

要获得数字的平方,那么,你怎么知道两个平方是什么?还是三平方? **

然后你可以使用列表推导来获得1和n之间的每个数字的平方(但是你如何得到1和n之间的数字列表?你需要范围或者东西)

不要忘记return项目;)