这个小题目没有什么困难就accept了,只是最后打印的时候有点小问题,直接写了几个if搞掉算了。 因为只是有限个输出,又没有输入,其实只要都算好了,直接9个print就结束了,嘎嘎 问题的链接 def printTitle(): print "n e"; print "- -----------"; def printContent(): for i in range(len(printR)): if i==0: print "0 1"; elif i==1: print "1 2"; elif i==8: print "8 2.718278770" else: print str(i)+" "+str(round(printR[i],9)); result=[]; printR=[1]; for i in range(9): base=i+1; if len(result)==0: result.append(base); else: result.append(base*result[len(result)-1]); for r in result: printR.append(float(1)/float(r)+float(printR[len(printR)-1])); printTitle(); printContent();