如何使用内置 python 模块创建垂直直方图?

how to create a vertical histogram using in-built python modules?

基本上我需要创建一个向下级联的垂直直方图。 到目前为止我的代码:

a = 1
b = 8
c = 6
d = 7

x = [a, b, c, d]
z = max(x)
print(z)
i = 0
while i < z:
    i += 1
    a -= 1
    b -= 1
    c -= 1
    d -= 1
    if a >= 0:
        print("*".ljust(5), end="")
    if b >= 0:
        print("*".ljust(5), end="")
    if c >= 0:
        print("*".ljust(5), end="")
    if d >= 0:
        print("*".ljust(5))

获得的输出:

*    *    *    *    
*    *    *    
*    *    *    
*    *    *    
*    *    *    
*    *    *    
*    *    
*    

所需输出:

*   *   *   *
    *   *   *
    *   *   *
    *   *   *
    *   *   *   
    *   *   *
    *       *
    *

ps: 我是新手所以请原谅我的无知

您的代码几乎可以正常工作,但 * 会在列之间移动。

如果我将 *s 更改为它们所对应的变量,您当前的输出如下所示:

a   b   c   d
b   c   d
b   c   d
b   c   d
b   c   d
b   c   d
b   d
b

当你的 if 条件出现 False 时,你只需要打印一些空格。所以每一个都变成了

if a >= 0:
    print("*".ljust(5), end="")
else:
    print(" ".ljust(5), end="")