python - 打印与固定比例相关的值

标签 python printing

我有以下形式的数据。

Species1 277:A 352:B 423:C 566:D........10000:G
Species2 247:A 352:B 423:C 566:D........9500:G
Species3 271:A 349:B 566:C....7500:G

在每种情况下,冒号“:”之前的值都是位置。范围从 0 到 10,000。列后面的值是我感兴趣的一些数据。我已经知道没有值超过 10,000。这意味着可以根据其位置在屏幕上绘制值。换句话说,我们以 0-10,000 的固定范围在屏幕上打印每个物种的值。不打印缺少的值。是否有可能在屏幕上打印出这种输出? 输出:

    Species1   A B C     D                           G
    Species2   A B C     D                         G
    Species3   A B       C                  G

因此字符是根据其位置打印的。例如,物种 1 中的 G 为 10,000。所以它被打印在最后。物种 B 中的 G 位于 9500,因此它位于物种 1 中 G 的左侧。所以基本上,我希望根据其位置信息打印值。

最佳答案

嗯:使用元组列表的非常粗略的解决方案

sp1=[(277, "A"), (352, "B"), (423, "C"), (566, "D")]
sp1.sort()
fact = 80/sp1[-1][0]
pos = 0
for elem in sp1:
    ch = " "*int(elem[0]*fact - pos) + elem[1]
    pos += len(ch)
    print(ch, sep="", end = "")

没有?

关于python - 打印与固定比例相关的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31627137/

相关文章:

Python Multiprocessing - 进程数

python - 如何根据审计字段在 Pandas 中创建汇总行

python - 在python中高效生成 "shifted"高斯核

Python - 停止 FuncAnimation

Java 原始 Postscript 打印,发送 XPS_PASS(特定于 Windows)

python-3.x - Python sleep 后在同一行打印

python - 如果字符串明显采用首字母大写,为什么 istitle() 字符串方法返回 false?

printing - 事件报告始终发送到默认打印机

java - 强制打印机进入错误状态

css - Bootstrap 在打印聚焦输入元素时显示黑色矩形