2011-01-11 13 views
1

Ich versuche, diese C++ - Anweisung in Python auszuführen, und ich habe Probleme, den Ausdruck in die Schleife zu platzieren.Äquivalenter verschachtelter C++ - Ausdruck in Python

for (int i = 0; i < 3; i++) 
{ 
    for (int j = 0; j < 3; j++) 
    { 
     for (int k = 0; k < 3; k++) 
     { 
      cout<<_3x3x3[i][j][k]<<" "; 
     } 
    } 
    //print here in python 
    cout<<endl; 
} 

in Python:

_3x3x3 = [[[0 for col in range(3)] for row in range(3)] for depth in range(3)] 

for i in range(3): 
    for j in range(3): 
     for k in range(3): 
      _3x3x3[i][j][k] = 1 

for col in _3x3x3: 
    print col 
print 
for row in _3x3x3: 
    print row 
print 
for depth in _3x3x3: 
    print depth 
#I want to print this in the C++ style above 
for i in range(3): 
    for j in range(3): 
     for k in range(3): 
      print _3x3x3[i][j][k] 
+0

Bitte posten Sie Ihre beste Schätzung in Python und das spezifische Problem, das Sie mit dieser besten Schätzung haben. –

+0

was meinst du mit problemen beim platzieren? – tekknolagi

+0

@I editierte den Beitrag und fügte den Python-Code hinzu. Ich möchte dieses 3D-Array mit dem, was ich in C++ über dem Python-Code getan habe, ausdrucken. – pandoragami

Antwort

4
for i in range(3): 
    for j in range(3): 
     for k in range(3): 
      # something here 
      print _3x3x3[i][j][k], 
    print 
+0

Sorry, ich habe das versucht, hat nicht funktioniert. – pandoragami

+0

Muss das Komma nach dem etwas hier hinzufügen, um zu verhindern, dass ein Zeilenumbruch gedruckt wird. –

+0

Meine Ausgabe war eine Spalte von Einsen, es sollte 3 Spalten und 9 Zeilen geben – pandoragami

0

Für Abwechslung und Zukunftssicherheit:

from __future__ import print_function 

for i in range(3): 
    print(*(_3x3x3[i][j][k] for j in range(3) for k in range(3))) 

Der Unterschied zwischen diesem und dem C++ Code ist, dass dies nicht ausgibt ein Leerzeichen am Ende jeder Zeile vor dem Zeilenumbruch. Das ist wahrscheinlich eine gute Sache.