[LINUX] Programme Shell pour afficher la pyramide

introduction

Je l'ai créé comme une petite histoire de programmation Bash. Montrons la pyramide en utilisant "*".

Pyramide à cinq niveaux à gauche

La source

#!/bin/bash

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

Résultat d'exécution

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

Pyramide qui affiche le nombre d'étapes spécifié

Le programme précédent est un bon programme. Cependant, comme il est inflexible, nous le modifierons afin que l'utilisateur puisse spécifier le nombre d'étapes.

La source

#!/bin/bash

ast='*'

echo -n "Input number => "
read num

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

Vous pouvez utiliser le compteur avec while au lieu de for. J'ai choisi car il est plus lisible que while.

Résultat d'exécution

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

Pyramide qui affiche le nombre d'étapes spécifié (version centrée)

C'était assez difficile. Il y a un espace à gauche du "*", alors comment le gérer? De plus, il est nécessaire de réduire les flans un par un.

La source

$ 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

J'ai utilisé le remplacement de chaîne pour les variables comme moyen de supprimer les espaces.

Résultat d'exécution

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

en conclusion

En créant ce programme

J'ai compris.

Recommended Posts

Programme Shell pour afficher la pyramide
Programme Shell pour afficher quatre-vingt-dix-neuf
Exemple de programme pour afficher des vidéos avec PyQt
Programme pour affaiblir le japonais
Comment exécuter un programme Python à partir d'un script shell
Shell pour créer un projet django
Comment démarrer la première projection
J'ai essayé de créer des taureaux et des vaches avec un programme shell
[Rails] Comment afficher Google Map
Programme pour convertir le japonais en nom de station
J'ai créé un programme pour saisir ce que j'ai mangé et afficher les calories et les sucres