Auch wenn Sie sich an die Grammatik der Programmiersprache erinnern Wie schreibt man Ich denke, es gibt viele Leute, die immer noch nicht verstehen.
Dies ist ein Programmierverbesserungskurs für solche Leute. Wenn Sie nachdenken möchten, stoppen Sie das Video Denken Sie an ein Programm.
Klicken Sie hier für das Kommentarvideo
Das Thema dieses Mal ist "versuche einen Stern zu schreiben". Lassen Sie uns die folgende Sternzeichnungsfunktion erstellen.
Bedingungen:
n =Anzahl der Zeilen
def star(n):
wird bearbeitet
Zeichne n Sterne in der n-ten Stufe
Zum Beispiel
star(5)
Nach der Ausführung sieht es wie folgt aus Lassen Sie uns eine Funktion erstellen, die angezeigt werden kann.
★ ★★ ★★★ ★★★★ ★★★★★
"Zeichne einen Stern in n Schritten, um ein Dreieck zu bilden"
star(5)
Mund Mund Mund Mund Mund Mund Mund Mund Mund Mund Mund Mund Mund Mund ★★★★★ Mund Mund ★★★★★★★ Mund ★★★★★★★★★
"Zeichne einen Stern wie einen Diamanten in n Schritten"
star(9)
Mund Mund Mund Mund Mund Mund Mund Mund Mund Mund ★ Mund Mund Mund Mund ★ Mund Mund ★ Mund Mund ★ Mund Mund Mund Mund ★ Mund ★ Mund Mund Mund Mund Mund Mund ★ Mund ★ Mund Mund Mund Mund ★ Mund Mund Mund ★ Mund Mund ★ Mund Mund Mund Mund ★ Mund Mund Mund Mund Mund Mund Mund Mund Mund
star(10)
Mund Mund Mund Mund Mund Mund Mund Mund Mund ★ Mund Mund ★ Mund Mund Mund Mund ★ Mund Mund Mund ★ Mund Mund ★ Mund Mund Mund Mund Mund Mund ★ Mund ★ Mund Mund Mund Mund Mund Mund Mund ★ ★ Mund Mund Mund Mund Mund Mund Mund ★ Mund ★ Mund Mund Mund Mund Mund Mund ★ Mund Mund Mund ★ Mund Mund Mund ★ Mund Mund Mund ★ Mund Mund ★ Mund Mund Mund Mund Mund Mund Mund Mund Mund
Lassen Sie uns jetzt darüber nachdenken.
Zunächst können Sie die Zeichen mit der Funktion "Drucken" drucken.
Weil es in der n-ten Stufe n Sterne gibt Weil sich die Nummer jedes Mal ändert
Um diese Art der Wiederholung zu tun
Verwenden Sie die Anweisung for
.
def star(n):
for i in range(n):
print('★'*(i+1))
star(5)
Mit der Funktion range
Sie können Alternativen zu Zahlen generieren.
Die Zahlen beginnen bei 0, also addieren Sie 1 zu ihnen.
In Python, wenn es um Charaktere geht
Weil Sie Wiederholungen mit *
ausdrücken können
Verwenden Sie die Funktion "Drucken", um Zeichen für "n" Schritte zu drucken
Wenn Sie es anzeigen, ist es abgeschlossen.
Ermitteln Sie zunächst den Gesamtbetrag anhand der Anzahl der als Argument eingegebenen Zeilen. Die Anzahl der in einer Pyramidenform ausgegebenen Sterne beträgt "Anzahl der Zeilen x 2 -1".
Dann ausgeben
"Der Mund auf der linken Seite des Sterns"
★
Rechter Mund des Sterns
Teilen Sie es in 3 Teile und berechnen Sie die Anzahl von jedem.
Sobald die Anzahl der Sterne festgelegt ist, subtrahieren Sie sie vom Ganzen Teilen Sie durch 2, um die Anzahl der äußeren Münder zu erhalten.
Es wurde eine solche Funktion.
def star(n):
tmp = n*2-1
for i in range(n):
s = ((i+1)*2-1)
k = (tmp - s)//2
res = 'Mund'*k + '★'*s + 'Mund'*k
print(res)
star(5)
Ich denke, es wird einige Zeit dauern, bis fortgeschrittene Benutzer das Problem gelöst haben.
Erstens, wenn die Anzahl der eingegebenen Zeilen ungerade ist Der Prozess ändert sich, wenn die Zahl gerade ist.
Oben und unten am Diamanten Beachten Sie, dass sich der Prozess ändert.
Linker Mund des Diamanten
Äußerer Rahmen und Mund von ★ zum Zeichnen in Rautenform
Rechter Mund des Diamanten
Denken Sie getrennt Wenn Sie die Anzahl der einzelnen Teile berechnen und verbinden Sie können die richtige Antwort erreichen.
Betrachten Sie die Nummer zuerst im bedingten Zweig der if-Anweisung Betrachten Sie die Zeichen für eine Zeile, die ausgegeben werden soll.
Mit einem solchen Code können Sie einen Stern zeichnen.
def star(n):
for i in range(n):
s = (i+1)*2-1
k = (i-n//2) if (i+1>n//2) else (n - s)//2
w = (n-(k*2)-2) if (i+1>n//2) else (i*2 if n%2==0 else i*2-1)
res = 'Mund'*k
if (i+1)==1 or (i+1)==n:
res += '★★' if n%2==0 else '★'
else:
res += '★' + 'Mund'*w + '★'
res +='Mund'*k
print(res)
Da es sich um ein Referenzbeispiel handelt, ist es richtig, wenn ein Ergebnis vorliegt.
Wie war es?
Die Idee der Programmierung Bist du mitgekommen?
Ich würde es gerne weiter machen Für diejenigen, die ihre Programmierung verbessern möchten Bitte versuchen Sie es zu lösen.
Na dann.
HP von Otsu py: http://www.otupy.net/
Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw
Twitter: https://twitter.com/otupython