理论教育 Python计算思维:while循环

Python计算思维:while循环

时间:2023-11-22 理论教育 版权反馈
【摘要】:对于这种情况,Python提供了while条件循环结构,其语法格式为:while布尔表达式:语句组其语义为:当布尔表达式为True时,执行语句组,直到布尔表达式的值为False。为了让循环最终能够结束,while的语义中还隐藏着这样一个假设:语句组必定可以改变布尔表达式的值,使其最终为False。由于while循环先判断表达式是否为真,所以有可能循环体一次也不执行。

Python计算思维:while循环

请先看sin(x)级数展开的例子,其展开式为:

通过不断增加级数项,求得的结果越来越精确,现要求计算到最后一项的绝对值小于百万分之一的sin值。

求解这个问题的最好方案,是计算当前项,然后判断其绝对值是否<1e-6,如果不是,则将其加到和上,否则停止计算。这个任务很难事先知道最后一项对应的n值是多少。对于这种情况,Python提供了while条件循环结构,其语法格式为:

while布尔表达式:

语句组

其语义为:当布尔表达式为True时,执行语句组,直到布尔表达式的值为False。为了让循环最终能够结束,while的语义中还隐藏着这样一个假设:语句组必定可以改变布尔表达式的值,使其最终为False。由于while循环先判断表达式是否为真,所以有可能循环体一次也不执行。

【例3.2.2】 按级数展开式求解sin(x)的值,最后一项绝对值要求<1e-6,程序代码如下:(www.daowen.com)

程序:级数和求sin函数

程序中,由于计算累加和,所以首先令记录和值的变量sin x=0,通过给记录当前项的变量t赋初值x,并设定当前项的序号itemIndex,推导出前项和后项的关系如下:

tn+1=-tn×x×x/((itemIndex-1)×itemIndex))

程序运行结果如下:

请输入x:1.5707

sin(1.5707)=0.9999999391463782

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈