制表符
题目本身很简单,对我这种新手难就难在完全靠自己去摸索格式。这本书之前根本没说过要怎么输出制表符,一个制表符不能解决问题的时候要连续用2个,幸好这里两个就够了,如果超过16个字符,还得3个或以上制表符。于是明明很简单的print输出里面除了套个必须有的while以外还得来一对if-else分开整除了和有尾数的情况。为什么出题的人就这么喜欢超纲呢?????
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import math def mysqrt(a): x = 10 while True: y = (x + a/x) / 2 if abs(y - x) < 1e-11: break x = y return y def test_squre_root(): print('a\tmysqrt(a)\tmath.sqrt(a)\tdiff') print('-\t---------\t------------\t----') a = 1 while a < 10: if mysqrt(a)%1 == 0: print(str(float(a))+'\t'+str(float('%.11f'% mysqrt(a)))+'\t\t'+str(float('%.11f'% math.sqrt(a)))+'\t\t'+str(float('%.11e'% abs(mysqrt(a)-math.sqrt(a))))) else: print(str(float(a))+'\t'+str(float('%.11f'% mysqrt(a)))+'\t'+str(float('%.11f'% math.sqrt(a)))+'\t'+str(float('%.11e'% abs(mysqrt(a)-math.sqrt(a))))) a = a + 1 test_squre_root() |