2016-06-05 10 views
0

Diese Funktion gibt alle möglichen Multiplikationen von 1 bis d zurück. Ich möchte die Lösung in Form einer d × d-Matrix drucken.Drucken aller Lösungen in Form einer Matrix mit n

def example(d): 
    for i in range(1,d+1): 
     for l in range(1,d+1): 
      print(i*l) 

Für d = 5 sollte die erwartete Ausgabe wie folgt aussehen:

1 2 3 4 5 
2 4 6 8 10 
3 6 9 12 15 
4 8 12 16 20 
5 10 15 20 25 
+0

Ok .. Was ist das Problem, vor dem Sie stehen? – kkaosninja

+0

@kkaosninja Meine Funktion druckt die Lösungen in einer Zeile, aber ich möchte, dass sie in der Form einer DXD-Matrix gedruckt werden. Sorry, wenn die Fragen nicht klar genug waren – Bilow

+0

drucken (i * l, Ende = "") –

Antwort

0

Sie könnten die Werte in der zweiten for-Schleife zu einer Liste hinzuzufügen, join die Liste, und schließlich ausdrucken.

def mul(d): 
    for i in range(1, d+1): 
     list_to_print = [] 
     for l in range(1, d+1): 
      list_to_print.append(str(l*i)) 
     print(" ".join(list_to_print)) 

>>> mul(5) 
1 2 3 4 5 
2 4 6 8 10 
3 6 9 12 15 
4 8 12 16 20 
5 10 15 20 25 

Wenn Sie wollen, dass es in ausgerichteten Reihen und Spalten gedruckt werden, haben eine Lese bei Pretty print 2D Python list.

EDIT

Das obige Beispiel wird für beide Python arbeiten 3 und Python 2. Doch für Python 3 (wie @ Richard in den Kommentaren gesetzt hat), können Sie verwenden:

def mul(d): 
    for i in range(1, d+1): 
     for l in range(1, d+1): 
      print(i*l, end=" ") 
     print() 

>>> mul(5) 
1 2 3 4 5 
2 4 6 8 10 
3 6 9 12 15 
4 8 12 16 20 
5 10 15 20 25 
+0

Danke, es funktioniert perfekt: D – Bilow

0

Versuchen Sie folgendes:

mm = [] 
ll = [] 

def mul(d): 
    for i in range(1,d+1): 
     ll = [] 
     for l in range(1,d+1): 
#    print(i*l), 
      ll.append((i*l)) 
     mm.append(ll) 

mul(5) 

for x in mm: 
    print(x) 

[1, 2, 3, 4, 5] 
[2, 4, 6, 8, 10] 
[3, 6, 9, 12, 15] 
[4, 8, 12, 16, 20] 
[5, 10, 15, 20, 25] 
+0

Ich brauche sie wirklich in der Form einer DXD-Matrix gedruckt werden die Lösungen sind bereits in meiner Funktion gut. – Bilow

+0

Nun, dann bearbeiten Sie Ihre Frage mit der gewünschten dxd-Ausgabe. – Merlin

+0

Die Frage sagt es klar – Bilow

Verwandte Themen