MIT Python 第三课一般代码样式 循环式程序 第15分钟:求16的平方根:4

遍历所有整数来寻找一个数的平方根。

求16的平方根:4

防卫性程序:
 确信我在代码中涵盖了所有可能路径,确信我显示了或者返回了代码中每种路径的有用信息,确信对于所有的可能的输入都对应了代码中的一个路径或者在代码中有对应的处理方式,避免了错误或无限循环的产生。 

>>> ans=0
>>> x=16
>>> if x>=0:
       while ans*ans<x:
              ans=ans+1
       if ans*ans!=x:
              print(x,'不是非完美平方数')
       else:print(ans)
else:print(x,'是负数')

4

>>> ans=0
>>> if x>=0:
    while ans*ans<x:
        ans=ans+1
        print('ans=',ans)
    if ans*ans!=x:
        print(x,'is not a ')
    else:print(ans)
else:print(x,'is a  h')

ans= 1
ans= 2
ans= 3
ans= 4
4
>>> print(x,'is a  h')
16 is a  h
>>> print('ans=',ans)
ans= 4
>>> 

 

 

>>> #显示16的平方根
>>> x=16
>>> ans=0
>>> while ans*ans<x:
    ans=ans+1
    print(ans)

    
1
2
3
4
>>> print(ans)
4
>>> 

终极测试中应该是<0 没有=0

>>> x=16
>>> ans=0
>>> while ans*ans<=x:
    ans=ans+1
    print(ans)

    
1
2
3
4
5

 为什么不用for:for不含16,而17本身是不完美平方数。无论for ans in (0,16)或for ans in (0,17)都运行没结果。下图是自己写的

posted @ 2015-06-25 10:52  hhj187  阅读(188)  评论(0编辑  收藏  举报