根据简单的数学计算,她使用的代码不应该是成功的.
## EXAMPLE: approximate cube root #####################cube = 27##cube = 8120601##cube = 10000#epsilon = 0.1#guess = 0.0#increment = 0.01#num_guesses = 0## look for close enough answer and make sure## dIDn't accIDentally skip the close enough bound#while abs(guess**3 - cube) >= epsilon and guess <= cube:# guess += increment# num_guesses += 1#print('num_guesses =',num_guesses)#if abs(guess**3 - cube) >= epsilon:# print('Failed on cube root of',cube,"with these parameters.")#else:# print(guess,'is close to the cube root of',cube)
这是她使用的代码,我遇到的问题是理解这部分:
while abs(guess**3 - cube) >= epsilon and guess <= cube:# guess += increment
如果guess是0.0,cube是27并且increment是0.01那么这个术语的数学应该是:
abs(0**3 - 27) = 27 #----- This is fine according to the code but the next step would be:#abs(27.01**3 - 27) = 19677.878101
这应该阻止循环进一步工作.我的理解在某处显然是错误的,但我看不到哪里!
请停下来……
解决方法 您可以尝试使用Python可视化工具来查看猜测值如何随每次迭代而变化. Try here. 总结以上是内存溢出为你收集整理的python – 麻省理工学院开放课程,第3讲 – 数学问题全部内容,希望文章能够帮你解决python – 麻省理工学院开放课程,第3讲 – 数学问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)