对于具有范围功能的循环

时间:2014-10-27 16:00:27

标签: python for-loop range sqrt

编写一个名为printsquares(numin)的函数,即接受参数numinnumin成为for循环的上端,其范围为:

for i in range(numin)

并且当for循环执行时,它打印范围中每个i的平方。这是运行:

>>> printsquares(6)
0
1
4
9
16
25
>>>

这就是我应该为我的问题做的事情,我似乎无法像在示例中那样打印平方根。

这是我的代码:

import math
def printsquares(numin):
    for i in range(numin):
        print(math.sqrt(numin))

2 个答案:

答案 0 :(得分:1)

您始终打印numin的平方根而不是循环变量i。只需使用后者:

def printsquares(numin):
    for i in range(numin):
        print(math.sqrt(i))

接下来,生成 square ,而不是 square root ;只需乘以i

def printsquares(numin):
    for i in range(numin):
        print(i * i)

或者您可以使用**幂运算符将i提升为2的幂:

def printsquares(numin):
    for i in range(numin):
        print(i ** 2)

答案 1 :(得分:1)

您每次都使用numin的平方根,而不是每个i的平方。将您的print声明更改为:

print(i * i)  # I think this is slightly faster than i ** 2.

演示:

>>> printsquares(6)
0
1
4
9
16
25