size = input('Kirjainmäärä: ')
kirjaimet = "0ABCDEFGHIJKLMNOPQRSTUVWXYZ"
ruudukko = []
rivi = ['0']*(size*2-1)
for i in range(0,size): #produce n rows
for y in range(0,i+1): #this row needs i+1 letters
for z in range(0+i,size*2-1-i):
rivi[z] = kirjaimet[size-i]
print rivi, i
ruudukko.append(rivi)
print ruudukko
ようにコードをPythonの追加の奇妙な動作ですか?
['E', 'E', 'E', 'E', 'E', 'E', 'E', 'E', 'E'] 0
['E', 'D', 'D', 'D', 'D', 'D', 'D', 'D', 'E'] 1
['E', 'D', 'C', 'C', 'C', 'C', 'C', 'D', 'E'] 2
['E', 'D', 'C', 'B', 'B', 'B', 'C', 'D', 'E'] 3
['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'] 4
input=4
output=
DDDDDDD
DCCCCCD
DCBBBCD
DCBABCD
ので、ここでは、(印刷rivi iは-part)入力= 5と上記のコードの出力の書式の数の行列を生成するはずでした
OKこれまで何もかもが、その後...
[['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E'], ['E', 'D', 'C', 'B', 'A', 'B', 'C', 'D', 'E']]
追加リストruudukko C最後に追加されたオブジェクトでいっぱいになっています!
何が起こっているのですか?
riviは現在、配列を指しているので、配列を追加するには配列オブジェクトを最後の位置に置く必要があります。 1つのリストにまとめる場合は、extend()メソッドを使用します。 – dhable