首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python直方图

Python直方图
EN

Stack Overflow用户
提问于 2015-01-09 05:27:00
回答 2查看 3.2K关注 0票数 1

我正在尝试用python创建一个直方图,作为我的python类的一部分

它应该看起来像这样:

但是,我不能计算出直方图。这是我到目前为止的代码:

代码语言:javascript
运行
复制
sumValues = [] 

print("Enter 10 integers")

for i in range( 10 ):
    newValue = int( input("Enter integer %d: " % (i + 1) ))
    sumValues.append(newValue)

print("\nCreating a histogram from values: ")
print("%s %10s %10s" %("Element", "Value", "Histogram"))

如何创建实际的直方图?

EN

回答 2

Stack Overflow用户

发布于 2015-01-09 05:37:36

一些提示:新风格的Python格式允许:

代码语言:javascript
运行
复制
In [1]: stars = '*' * 4    # '****'
In [2]: '{:<10s}'.format(stars)
Out[3]: '****      '

也就是说,您可以将一个由4颗星组成的字符串(由重复四次'*'组成)放入一个10个字符的字符串中,左对齐(<),右填充空格。

(如果您不需要直方图具有相同数量的字符(星号或空格),则只需打印星号即可;无需格式化)

票数 2
EN

Stack Overflow用户

发布于 2015-01-09 05:42:01

就像这样:

代码语言:javascript
运行
复制
# fake data
sumValues = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
...
# calculate how long is the list and adjust the padding for 'Element'
padding = max(len(sumValues), len('Element'))
# now the padding for 'Value'
padding1 = max(len(str(max(sumValues))), len('Value')) 

print("\nCreating a histogram from values: ")
print("%s %10s %10s" %("Element", "Value", "Histogram"))
# use enumerate to loop your list and giving the index started from 1
for i,n in enumerate(sumValues, start=1):
    print '{0} {1}     {2}'.format( # print each line with its elements
              str(i).ljust(padding), # print with space using str.ljust
              str(i).rjust(padding1), # print with space using str.rjust
              '*'*n) # '*' * n = '*' multiply by 'n' times 

Creating a histogram from values: 
Element      Value  Histogram
1              1     *
2              2     **
3              3     ***
4              4     ****
5              5     *****
6              6     ******
7              7     *******
8              8     ********
9              9     *********
10            10     **********
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27849807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档