2017-04-06 3 views
1

Ich habe eine Zuordnung, um eine 10 x 10-Tabelle in Python zu erstellen, und ich verwende das Ende "\ t" innerhalb meiner Druckfunktion, um zu verhindern, dass es eine neue Zeile erstellt. Aber ich brauche es, um nach 10 Zeichen eine neue Zeile zu beginnen. Wie kann ich es machen? Hier ist mein Code:Drucken einer Tabelle in Python

product = 0 
for x in range(1,11): 
    for y in range(1,11): 
     product = x * y 
     print(product, end="\t") 

ich es brauche etwas wie folgt aussehen:

1 2 3 4 5 6 ... 
2 4 6 8 10 12 ... 
3 6 9 12 15 18 ... 
+2

'print()' direkt nach der inneren Schleife als eine Auskleidung erfolgen. – zondo

+0

@zondo Was ist, wenn sie die Version 2.x von Python verwendet? Ich würde eher vorschlagen "print (" ")". – mwarzynski

+0

@mwarzynski: Python 2.x hat nicht das Schlüsselwort "end", weil "print" keine Funktion ist. – zondo

Antwort

0

Dies ist mit alignement Optionen aus dem format Methode.

product = 0 
for x in range(1,11): 
    for y in range(1,11): 
     product = x * y 
     print('{:<4}'.format(product), end='') 
    print() 

Referenz: Format specification mini-language

+0

Ich denke, das ist ein bisschen vorbei, wo ich gerade in meiner Klasse bin, aber ich werde trotzdem damit spielen, um zu sehen, was es tut :) Danke! –

0

denke ich, alles, was Sie brauchen würden hinzufügen zu bekommen, was Sie wollen, ist eine neue Zeile in der inneren Schleife wie so drucken:

product = 0 
for x in range(1,11): 
    print() 
    for y in range(1,11): 
     product = x * y 
     print(product, end="\t") 

Am dritten Linie es wird eine neue Zeile nach 10. Die Ausgabe wird so aussehen: 1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

+1

'print()' fügt dem Ausdruck automatisch eine neue Zeile hinzu. Wenn Sie eine neue Zeile drucken, fügen Sie zwei hinzu. Verwenden Sie einfach 'print()' ohne Argumente. – zondo

+0

@zondo;) Du hast Recht, danke! – MattCom

+0

Wahrscheinlich möchten Sie mehr die 'print()' Zeile nach der inneren Schleife. Andernfalls drucken Sie am Anfang eine Leerzeile und lassen dann den Konsolencursor am Ende der letzten Zeile stehen! – flakes

0

Zum Spaß, t sein kann, mit einem wenig Liste Verständnis und der join Methode

print('\n'.join(['\t'.join([str(x*y) for x in range(1,11)]) for y in range(1,11)])) 
Verwandte Themen