python-3.x - Maclaurin 系列的余弦函数使用 for 循环并在错误差异已经达到我想要的值时停止
问题描述
你能帮我编写一个 Maclaurin 系列的余弦函数吗?我想消除输入迭代次数。我只是希望它继续运行,直到我达到我想要的精度(在我的代码 0.000000000000001 中)。请简单回答,因为我是 python 的真正初学者。
from math import *
variable_x = float(input("Input for cosine function: "))
number = int(input("Input number of iterations: "))
cosine_x = 0
for number in range (0,number):
old = cosine_x + (pow(-1, number)*pow(variable_x,2*number)/factorial(2*number))
print(old)
if 0 < abs(old - cosine_x) < 0.000000000000001:
break
cosine_x = old
print(number)
Result: Input for cosine function: 5 Input number of iterations: 100 1.0 -11.5 14.541666666666668 -7.159722222222221 2.528397817460318 -0.16274663800705413 0.34693981189206935 0.276927936905926 0.28422084055031593 0.283625015089173 0.28366421413266923 0.2836620929723069 0.28366218903935225 0.2836621853444659 0.2836621854666513 0.2836621854631402 0.2836621854632287 0.2836621854632267 0.28366218546322675 18
解决方案
为避免输入迭代次数,只需使用while
循环:
from math import *
variable_x = float(input("Input for cosine function: "))
cosine_x = 0
number = 0
while True:
old = cosine_x + (pow(-1, number)*pow(variable_x,2*number)/factorial(2*number))
print(old)
if 0 < abs(old - cosine_x) < 0.000000000000001:
break
cosine_x = old
number += 1
print(number)
推荐阅读
- php - PHP查询日期过滤器
- javascript - 在课程末尾添加+1
- javascript - html 附加信息图标/按钮
- reactjs - React App 前端无法识别我的 Golang 后端
- javascript - 主题更改检测在页面加载时不起作用
- javascript - 如何让 jquery 脚本“选择”在 asp.net 中工作
- powershell - 如何在 powershell 中创建提示以询问用户在哪个服务器组上运行脚本
- segmentation-fault - Segmentation fault 11 while循环,但似乎没有索引越界
- fish - 如何在fish中为HTTPie的“@”路径选项启用制表符补全?
- python - Pandas根据条件更改列值的有效方法