[LINUX] Shell-Programm zur Anzeige der Pyramide

Einführung

Ich habe es als kleine Geschichte der Bash-Programmierung erstellt. Lassen Sie uns die Pyramide mit "*" anzeigen.

Fünfstufige Pyramide links

Quelle

#!/bin/bash

echo "*"
echo "**"
echo "***"
echo "****"
echo "*****"

Ausführungsergebnis

$ ./pyramid.sh
*
**
***
****
*****

Pyramide, die die angegebene Anzahl von Stufen anzeigt

Das vorherige Programm ist gut. Da es jedoch unflexibel ist, werden wir es so ändern, dass der Benutzer die Anzahl der Schritte angeben kann.

Quelle

#!/bin/bash

ast='*'

echo -n "Input number => "
read num

for i in $(seq 1 $num)
do
  echo "$ast"
  ast='*'${ast}
done

Sie können den Zähler mit while anstelle von for verwenden. Ich habe mich für entschieden, weil es besser lesbar ist als währenddessen.

Ausführungsergebnis

$ ./pyramid.sh
Input number => 6
*
**
***
****
*****
******

Pyramide, die die angegebene Anzahl von Schritten anzeigt (zentrierte Version)

Es war ziemlich schwierig. Links neben dem "*" befindet sich ein Leerzeichen. Wie soll man damit umgehen? Außerdem müssen die Leerzeichen nacheinander reduziert werden.

Quelle

$ cat center_pyramid.sh
#!/bin/bash

ast='*'
spc=' '

echo -n "Input number => "
read num

(( spc_cnt = $num - 2 ))

for i in $(seq 1 $spc_cnt)
do
  spc=' '${spc}
done

for j in $(seq 1 $num)
do
  echo "$spc""$ast"
  ast='**'${ast}
  spc=${spc#' '}
done

Ich habe die Zeichenfolgenersetzung für Variablen verwendet, um Leerzeichen zu entfernen.

Ausführungsergebnis

$ ./center_pyramid.sh
Input number => 6
     *
    ***
   *****
  *******
 *********
***********

abschließend

Durch das Erstellen dieses Programms

Ich habe verstanden.

Recommended Posts

Shell-Programm zur Anzeige der Pyramide
Shell-Programm zur Anzeige von neunundneunzig
Beispielprogramm zum Anzeigen von Videos mit PyQt
Programm zur Schwächung der japanischen Sprache
So führen Sie ein Python-Programm in einem Shell-Skript aus
Shell zum Erstellen eines Django-Projekts
So starten Sie die erste Projektion
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
[Rails] So zeigen Sie Google Map an
Programm zum Konvertieren von Japanisch in Sendernamen
Ich habe ein Programm erstellt, um einzugeben, was ich gegessen habe, und um Kalorien und Zucker anzuzeigen