python - 如何在不使用 format() 的情况下以简单的表格格式显示值

标签 python string

我正在尝试用 python 编写一个简单的程序,我想以简单的表格格式显示我的输出。但是对齐每次都会受到干扰。限制条件是不要使用 Python 的 format()

我正在尝试使用 python 中的字符串格式打印所需的输出。但是我无法获得所需的输出。请帮助我。

我已经试过了:

def footToMeter(foot):
    Meter = 0.305 * foot
    return Meter


def meterToFoot(meter):
    Foot = meter / 0.305
    return Foot

i = 1.0
j = 20.0

header = ('Feet','Meters    |    ','Meters','Feet')

print("%-14s%-15s%-15s%-15s" % header)

while i<=15:
    print("%s" % i ,"%15.3f" % footToMeter(i),"    |   ",j,"%16.3f" % 
meterToFoot(j))
    i = i + 1
    j = j + 6

实际输出应该是完全左对齐的表格格式(检查下面的输出)。但是我的输出的对齐方式有点困惑。

enter image description here

最佳答案

您可以使用制表符 \t 并使用空格和格式字符串来正确显示,一个示例是

def footToMeter(foot): 
    return  0.305 * foot 

def meterToFoot(meter): 
    return meter / 0.305 

i = 1.0
j = 20.0

#Replaced spaces with a mix of tabs and spaces
print('Feet\t\t Meters\t\t|\t\t Meters\t\tFeet')
print()

while i<=15:
    #Played around with format strings
    print("%-4.1f\t\t" % i ,"%-.3f" % footToMeter(i),"\t\t|\t\t",j,"\t\t%-7.3f" %meterToFoot(j))
    i = i + 1
    j = j + 6

这给了我表格

Feet         Meters     |        Meters     Feet

1.0          0.305      |        20.0       65.574 
2.0          0.610      |        26.0       85.246 
3.0          0.915      |        32.0       104.918
4.0          1.220      |        38.0       124.590
5.0          1.525      |        44.0       144.262
6.0          1.830      |        50.0       163.934
7.0          2.135      |        56.0       183.607
8.0          2.440      |        62.0       203.279
9.0          2.745      |        68.0       222.951
10.0         3.050      |        74.0       242.623
11.0         3.355      |        80.0       262.295
12.0         3.660      |        86.0       281.967
13.0         3.965      |        92.0       301.639
14.0         4.270      |        98.0       321.311
15.0         4.575      |        104.0      340.984

关于python - 如何在不使用 format() 的情况下以简单的表格格式显示值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56625484/

相关文章:

python 子类

python - 在 Statsmodels -python 中使用 SARIMAX 预测样本外的外生变量

python - 在Python中计算集合中的大量数字的有效方法?

python - 如何删除包含非指定字符的行?

arrays - 从字符串中删除元素+将其转换为数组

java - 如何从 Android 中每个动态创建的 EditText 获取数据?

python - 我误解了 Python 正则表达式吗?

python - Virtualenv:找不到命令

r - 在 R 中修剪长字符向量的更快方法

c - 构建节点时内存分配失败