python - python的无限循环
问题描述
我正在尝试解决一个循环到x
and系列的第 15 个对象y
。在该系列中,````y values are subtracted from, and
x values are added to
pi```(嵌套在 for 循环中)如图所示:
from decimal import Decimal
i = 2
x = 0
y = 0
pi = 0
#write formular for sequence
for i in range(17):
for i in range(2, 17, 2):
x = (4 / (i * (i+1) * (i+2)))
for i in range (4, 17, 2):
y = (4 / ((i+2) * (i+3) * (i+4)))
pi = 3 + x - y
i += 4
print(pi)
我期望每次迭代都有不同的 pi 值。但是对于所有 15 次,但我一直得到相同的答案。 3.000232198142415
这与我的预期值不接近。我究竟做错了什么?
解决方案
错误在于
x = (4 / (i * (i+1) * (i+2)))
将其更改为
x += (4 / (i * (i+1) * (i+2)))
Or -=, *= , /= 你的算法是什么...对 y 重复相同的操作
问题是因为您使用 x = 这会覆盖 x 值,并且您继续获得 x 和 y 的相同值,因此结果相同......
推荐阅读
- traminer - seqefsub 函数下的算法是什么?
- shibboleth - 在 Shibboleth IDPV3.3 的 SAML 断言中返回用户名
- java - 从 ivy 本地仓库中删除的 Ant 任务
- vba - VBA Powerpoint 2016长时间执行复选框的代码
- python - 在 Python 中使用 Stanfrod Parser 构建折叠树
- c# - C# SQL Server 从数据库中读取数量并将其显示在消息框中
- json - Websockets over Protocol buffers(protobufs)/binary vs JSON/text performance
- ajax - 从 Backing Bean 更新嵌套面板
- sql - 在 SAS 中搜索带有字符和数字的模式
- asp.net - 如何在运行时打开数据库连接?