python - 为什么这个方法说 1 的平方是 3?
问题描述
我正在编写一个接受两个参数的函数:alpha 和 beta。然后它计算 N,它是 (alpha^2 + beta^2) 的平方根。然后它返回一个列表 [x, y],其中 x = alpha / N 和 y = beta /N。但是,当我写出这段代码并运行它时,它会错误地计算 1^2,并说它是 3 而不是 1。这会导致错误的答案。我在我的代码中添加了打印语句来调试它,但我找不到问题所在。这是我的代码和输出。
def createQubit(alpha, beta):
"""
Parameters:
Probability amplitutde = alpha -> float
Probability amplitutde = beta -> float
Return:
A qubit state -> list [x, y], which represents x|0> + y|1>
"""
# YOUR CODE
print(alpha, beta) #test
print(alpha^2, beta^2) #test
sum_of_sq = alpha^2 + beta^2
print(sum_of_sq) #test
N = math.sqrt(sum_of_sq)
if N > 0:
x = alpha / N
y = beta / N
return [x, y]
pass
print(createQubit(1,1))
#OUTPUT:
#1 1 --> alpha, beta
#3 3 --> alpha^2, beta^2
#0 --> sum_of_sq
#None --> result of function when you set alpha = beta = 1
有人可以帮我理解为什么会这样吗?
解决方案
推荐阅读
- snowflake-cloud-data-platform - 如何将排队的查询移动到单独的雪花仓库?
- r - 如何在 R 编程语言中的 x 轴 ggplot 上显示日期?
- python - hash_table 初始化,发生了什么?
- javascript - 如何使用JS识别当前值
- windows - ipython 控制台中的错误“异常 [WinError 995] I/O 操作已中止”
- php - 已解决 - Symfony5 - URI“/sitemap.xml”的控制器不可调用
- python - Python pandas,对数据在时间上的均匀分布进行评分
- xamarin - 如何在 Xamarin Forms 中实现/注册单例 HttClientFactory
- google-sheets - Google 表格数组公式运行余额按类别列分层并按日期列排序
- c# - 查找重复项并将其从列表中删除的 Linq 查询