在没有模块的python中打印表

时间:2017-05-26 12:09:03

标签: python math tabular

我们有这个任务,我花了一些时间... ... 测试脚本要我们打印这个:

>>> input([0, 1, 2, 3])
     x | sin(x) | cos(x) | tan(x)
---------------------------------
  0.00 |   0.00 |   1.00 |   0.00
  1.00 |   0.84 |   0.54 |   1.56
  2.00 |   0.91 |  -0.42 |  -2.19
  3.00 |   0.14 |  -0.99 |  -0.14

不使用模块(我们可以使用模块MATH作为提示使用它 https://docs.python.org/3/library/string.html#format-specification-mini-language

请帮忙。 这就是我现在所拥有的:

import math
def input(list):
    rad=[]
    sinvr=[]
    cosvr=[]
    tanvr=[]
    for el in list:
        sin=math.sin(el)
        sinvr.append(sin)
        cos=math.cos(el)
        cosvr.append(cos)
        tan=math.tan(el)
        tanvr.append(tan)
    print ("     x | sin(x) | cos(x) | tan(x)\n---------------------------------")

2 个答案:

答案 0 :(得分:2)

首先打印前2行。 然后添加以下代码:

for i in YOUR_LIST:
    print '%6.2f  |  %6.2f  |  %6.2f  |  %6.2f'%(i,math.sin(i),math.cos(i),math.tan(i))

希望这有帮助!

答案 1 :(得分:2)

在python3中,您可以使用字符串中的format方法:

print("{:^10.2f}|{:^10.2f}|{:^10.2f}|{:^10.2f}|".format(x,sin(x),cos(x),tan(x)))

请注意,^表示居中,10是'单元格'的总大小,.2f是打印带​​有2位小数的浮点数,根据您的需要进行更改