编写一个名为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') 打印(ⅰ)
答案 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
项目;)