2016-10-27 5 views
-1

Ich brauche Hilfe beim Erstellen eines Dreiecks, das ein M zu erstellen reflektiert. Ich habe herausgefunden, wie man ein Dreieck in einen Diamanten vertikal, aber nicht horizontal machen kann.Erstellen eines Spiegelbildes horrizontally

for f in range(1,9): 

for f2 in range(1-f,0,-1): 
    print(" ", end='') 
for f1 in range(1,f+1): 
    print("*", end=' ') 
    print() 

Ich bin mir nicht sicher, wie man sie auf der gleichen Achse hält. Würde die Hilfe wirklich schätzen. Das ist der Code für den Diamanten:

for f in range(1,21): 

for f2 in range(20-f,0,-1): 
    print(" ", end='') 
for f1 in range(1,f+1): 
    print("*", end=' ') 
print() 
for f in range(1,20): 

for f1 in range(1,f+1): 
    print("", end=' ') 
for f2 in range(20-f,0,-1): 
    print("*", end=' ') 

print() 
+1

Bitte korrigieren Sie Ihre Einrückung – Hoopdady

+0

Ihre letzte Bearbeitung hat die Einrückung nicht behoben. Alle for-Schleifen sind immer noch auf der gleichen Ebene. – Hoopdady

+0

Ich denke, ich habe es repariert, Hoopdady. Es gibt den Code für den Diamanten, Ivan –

Antwort

0

Ihre Frage ist mir nicht sehr klar. Wenn Sie jedoch versuchen, mit Zeichen wie "*" auf dem Bildschirm zu zeichnen, schlage ich vor, Ihre Formen (Dreieck, Raute usw.) im Speicher in einer Matrix zu zeichnen. Dann können Sie nur die Matrix auf dem Bildschirm drucken, oder wenn Sie die Achse invertieren möchten, können Sie einfach die trasposed Matrix drucken. Sobald Sie die Matrix im Speicher haben, können Sie kostenlos viele Operationen ausführen.

Natürlich brauchen Sie eine Matrix-Lib, die für Python definitiv numpy ist.

Prost

Charlie

PS: und don‘t vergessen, den Einzug zu beheben!