好吧,對於中期回顧,這是我需要解決的一個問題:直方圖的Python打印語句
/////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////
設計並實現一個應用程序,該應用程序創建100個範圍爲1到100的值的隨機正整數,然後創建一個圖表顯示如何經常出現這些值。圖表應該看起來像這裏顯示的那個。它顯示了在1到10,11到12等範圍內有多少值。爲每個輸入的值打印一個星號。
備註: a。您必須使用列表 b。不要使用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等)
幫助?
不,我要拿到1 -10,11-20,21-30等 – 2015-01-21 01:49:27