# Python 程序：查找平方根

> 原文： [https://www.programiz.com/python-programming/examples/square-root](https://www.programiz.com/python-programming/examples/square-root)

#### 在该程序中，您将学习使用指数运算符和`math`模块查找数字的平方根。

要理解此示例，您应该了解以下 [Python 编程](/python-programming "Python tutorial")主题：

*   [Python 输入，输出和导入](/python-programming/input-output-import)
*   [Python 数据类型](/python-programming/variables-datatypes)
*   [Python 运算符](/python-programming/operators)

* * *

## 示例：对于正数

```py
# Python Program to calculate the square root

# Note: change this value for a different result
num = 8 

# To take the input from the user
#num = float(input('Enter a number: '))

num_sqrt = num ** 0.5
print('The square root of %0.3f is %0.3f'%(num ,num_sqrt)) 
```

**输出**

```py
The square root of 8.000 is 2.828

```

在此程序中，我们将数字存储在`num`中，并使用`**`指数运算符查找平方根。 该程序适用于所有正实数。 但是对于负数或复数，可以按以下步骤进行。

## 源代码：实数或复数

```py
# Find square root of real or complex numbers
# Importing the complex math module
import cmath

num = 1+2j

# To take input from the user
#num = eval(input('Enter a number: '))

num_sqrt = cmath.sqrt(num)
print('The square root of {0} is {1:0.3f}+{2:0.3f}j'.format(num ,num_sqrt.real,num_sqrt.imag)) 
```

**输出**：

```py
The square root of (1+2j) is 1.272+0.786j
```

在此程序中，我们使用`cmath`（复杂数学）模块中的`sqrt()`函数。

请注意，我们也使用`eval()`函数而不是`float()`来转换复数。 另外，请注意输出格式化的方式。

查找有关 Python 中的[字符串格式的更多信息](http://docs.python.org/3/library/string.html#format-string-syntax "String formatting in Python")。