3
import pylab as pl

data = """AP 10
AA 20
AB 30
BB 40
BC 40
CC 30
CD 20
DD 10"""

grades = []
number = []

for line in data.split("/n"):
     x, y = line.split()
     grades.append(x)
     number.append(int(y))       
fig = pl.figure()
ax=fig.add_subplot(1,1,1)
ax.bar(grades,number)
p.show()

これは私のコードです。データから棒グラフを作成したいと思います。最初にコードを実行すると、17行目でインデントエラーが発生しました.forブロック全体にスペースを追加した後、16行目で「展開するには値が多すぎます」というエラーが発生し始めました。 python、そして今どうやって進めばいいのかわからない。

4

4 に答える 4

4

2 つのアイテムがない行があります。

 x, y = line.split()

2 つの要素に分割されず、エラーがスローされます。おそらく、data変数を適切に分割しておらず、テキスト全体が1 つの長いテキストになっていることが原因です。あなたのデータ/nでは発生しません。data

.splitlines()代わりに使用してください:

for line in data.splitlines():
     x, y = line.split()
于 2013-06-10T14:07:18.320 に答える
3
for line in data.split("/n")

する必要があります

for line in data.split("\n")

またはさらに良い:

for line in data.splitlines()
于 2013-06-10T14:03:04.397 に答える