python - 我需要像我想要的示例中所示的那样打印
问题描述
这是我拥有的当前代码:
def render_histogram(values):
rows = []
for value in values:
rows.append((" "'\n'*(max(values)-value))+("*"'\n'* value))
return '\n'.join(rows)
print(render_histogram([4, 5, 3, 8, 1]))
期望的结果:
解决方案
您可以尝试使用内置zip()
方法转置rows
列表`:
def render_histogram(values):
tallest = max(values)
rows = [(value * '*').rjust(tallest) for value in values]
return '\n'.join(''.join(s) for s in zip(*rows))
print(render_histogram([4, 5, 3, 8, 1]))
输出:
*
*
*
* *
** *
****
****
*****
推荐阅读
- r - 如何从另一个 Rccp 函数调用在 Rcpp 中创建的函数
- javascript - 在 ReactJS 中存储 API 密钥的位置?
- bootstrap-4 - 使用引导卡列,我如何强制每列有 X 卡
- c++ - 即使在更改默认值后,conan install --build 由于版本不匹配而失败
- python - 当有 CSS 时,在 jinja2 中循环的单选按钮只有第一个条目被选中?
- javascript - 我在 h3 元素内打印了数据库中的信息。我想从这里读取信息并将其发送到导出默认值中的数据?
- json - Shopify 使用 JSON 来存储主题数据和值,而不是 DB。这可行吗?
- javascript - 使用JS从等式中提取运算符和数字
- python - Cygwin64 在哪里存储/查找 Python 包?
- three.js - ammo.js 碰撞布与柔体