2016-08-24 6 views
2

Hallo Ich bin neu in der Programmierung und ich versuche, einen Code zu schreiben, der Informationen von der Eingabe sammeln und es auf das Dreieck anwenden wird.Ändern der Formen (Pro)

Dies ist mein Code so weit

steps = int(input("Size: ")) 

print('/\\') 
for i in range(steps - 1): 

    print(" "*i+" \\") 
print(steps * "__") 

nehme an, wenn der Eingang drei war dann wie folgt aussehen mein Programm würde.

![enter image description here

, wenn ich möchte, dass die Ausgabe wie folgt aussehen.

![enter image description here

Antwort

2

Hier ist mein Code:

steps=input("Size: ") 

for i in range(steps): 
    j=steps-i-1 
    print ' '*j+"/"+' '*i+' '*i+'\\' 
print '-'*(steps*2+1) 

, die die gleiche Sache wie unten:

steps=input("Size: ") 

for i in range(steps): 
    j=steps-i-1 
    print ' '*j+"/"+' '*(i*2)+'\\' 
print '-'*(steps*2+1) 
+0

müssten Sie tun Schritte = int (Eingabe – cars

+0

nein, Sie würden nicht. Wenn Sie nur Eingabe haben, kümmert sich die Nummer, aber wenn Sie Raw_input haben, dann benötigen Sie Int (Raw_input()). –

1

Hier ist etwas, was ich denke, wird funktionieren. Eine wichtige Sache ist, dass Sie nicht die linke Seite für alle Zeilen nach der ersten zeichnen und auch keinen zusätzlichen linken Platz berücksichtigen, der zum Ausrichten Ihres Dreiecks benötigt wird.

steps = int(input('Size: ')) 

for i in range(steps): 
    left_space = steps - i - 1 
    inner_space = i 
    print('{}/{}\\'.format(' ' * left_space, ' ' * inner_space * 2)) 
print(steps * '__') 

Ausgang:

Size: 2 
/\ 
/\ 
____ 

Size: 3 
    /\ 
/\ 
/ \ 
______ 

Size: 4 
    /\ 
/\ 
/ \ 
/ \ 
________ 
+0

Wie würde ich den Boden bewegen des Dreiecks ein bisschen höher . Angenommen, Sie schreiben Größe: 3, dann ist die Lücke von unten zu groß, – cars

+0

Sie müssten ein anderes Zeichen verwenden, das eine höhere Zeile als der Unterstrich ist. Eine Option ist der Überstreichungs-Charakter: ~ ~. – Karin

Verwandte Themen