【发布时间】:2015-01-21 01:33:43
【问题描述】:
好吧,所以对于中期审查,这是我需要解决的一个问题:
/////////////////////////////////////// ///////////////////////////////////////// ///////////////////////////////////////p>
设计并实现一个应用程序,该应用程序创建 100 个 1 到 100 范围内的随机正整数值,然后创建一个显示这些值出现频率的图表。该图表应类似于此处显示的图表。它显示有多少值落在 1 到 10、11 到 12 等范围内。为每个输入的值打印一个星号。
注意事项: 一种。您必须使用列表 湾。不要使用 if 语句
以下示例:
1 - 10 | ****
11 - 20 | **
21 - 30 | ****************
31 - 40 |
41 - 50 | ***
51 - 60 | ********
61 - 70 | ****************
71 - 80 | *****
81 - 90 | *
91 - 100 | ***
/////////////////////////////////////// ///////////////////////////////////////// //////////////////
无论如何,这是我目前的代码:
import random
frequency = [0,0,0,0,0,0,0,0,0,0]
for roll in range( 1,101 ):
face = random.randrange( 1, 100 )
frequency[face%10] += 1
print(frequency)
for i in range( len( frequency ) ):
print("%7d%5d %-s" % ((i+1,frequency[i], "*" * frequency[i])))
/////////////////////////////////////// /////////////////////////////
当我打印时,这就是我得到的:
[8, 12, 8, 12, 12, 9, 9, 11, 9, 10]
1 8 ********
2 12 ************
3 8 ********
4 12 ************
5 12 ************
6 9 *********
7 9 *********
8 11 ***********
9 9 *********
10 10 **********
/////////////////////////////////////// ////////////////////////////////////////
我的程序运行正常,但我有问题的代码是这部分:
print("%7d%5d %-s" % ((i+1,frequency[i], "*" * frequency[i])))
/////////////////////////////////////// ///////////////////////////////////////// //////////////////
我的问题是我不知道如何执行原始示例中的 1 - 10 、 11-20 等部分。我所知道的就是让它向上计数(1、2、3、4、5等)
帮助?
【问题讨论】:
标签: python python-3.x histogram