如何使用内置 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="")
基本上我需要创建一个向下级联的垂直直方图。 到目前为止我的代码:
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="")