2017-11-14 4 views
-1

Ich versuche, die folgende Übung zu bekommen:Wie erstellt man 1-100 in 10 Zeilen?

„Schreiben Sie ein Programm ein Paar von Neste enthält, während Schleifen, die die ganze Zahl zeigt 1-100 Werte, zehn Zahlen pro Zeile, mit den Säulen zum Abgleich wie unten.

1 2 3 4 5 6 7 8 9 10 
11 12 13 14 15 16 17 18 19 20 

Bisher habe ich mit diesem kommen:

lijst = list(range(1, 101)) 
i = 0 

while i < 100: 
    print(lijst[i],"\t", end=" ".format(">")) 
    i = i+1 
    if i % 10 == 0: 
     print("") 

Obwohl es die Dinge produziert ich brauche, die t Bauchmuskeln funktionieren nicht. Immer, wenn ich versuche, Leerzeichen anstelle eines Tabs einzufügen, bewegen sich die Dinge in der zweiten und weiteren Zeilen viel zu sehr. Außerdem kann ich nicht herausfinden, warum die .format(">") nicht funktioniert. Ich habe versucht, .format(">3") anzuwenden, aber das hat überhaupt nichts getan.

+0

Ich schlage vor, Sie verwenden Sie die [_FORMAT Spezifikation Mini-Language_] (https: // docs .python.org/3/library/string.html # format-specification-mini-language) um Zeichenketten zu formatieren, die beim Ausdrucken so aussehen, wie Sie es möchten (es gibt Ihnen viel Kontrolle). Es wird normalerweise über Anweisungen verwendet, die ähnlich wie print ('' .format ()) 'sind. – martineau

Antwort

0

Sie können das {:>5d} Format Stil nach rechts ausrichten ganze Zahlen 5 Räume

lijst = list(range(1, 101)) 
i = 0 

while i < 100: 
    print("{:>5d}".format(lijst[i]), end=" ") 
    i = i+1 
    if i % 10 == 0: 
     print("") 

Ausgang:

1  2  3  4  5  6  7  8  9 10 
    11 12 13 14 15 16 17 18 19 20 
    21 22 23 24 25 26 27 28 29 30 
    31 32 33 34 35 36 37 38 39 40 
    41 42 43 44 45 46 47 48 49 50 
    51 52 53 54 55 56 57 58 59 60 
    61 62 63 64 65 66 67 68 69 70 
    71 72 73 74 75 76 77 78 79 80 
    81 82 83 84 85 86 87 88 89 90 
    91 92 93 94 95 96 97 98 99 100 
+0

ich denke, er wollte ''{> 5s}'. Format (my_num)' (Es sieht auch so aus, als ob er nicht linksbündig ausrichten will) –

+0

Nun, in Strings kann ich die Zeichenfolge in einer bestimmten Anzahl von Zeichen ausrichten mit der Verwendung von Format ("> 20") (zum Beispiel). Deshalb könnte ich es auch auf ganze Zahlen anwenden. Aber leider kann ich nicht. Die Ausgabe sieht gut aus, aber wie kann ich alles richtig ausrichten? – kouwschottel

+0

''{> 5s}'. Format (my_num)', bedeutet rechts meine Nummer auf 5 Leerzeichen auszurichten .... –

Verwandte Themen