
つぎは、「繰り返し構造」の中に「繰り返し構造」があるプログラムだよ!


ちょっと、頭の中が混乱するかもしれないけど、がんばってね!

使い方の例
📝1
掛け算の、「九九の表」を表示するプログラムです。

「九九の表」を作るには、外側のfor文のカウント変数と内側のfor文のカウント変数を使って、掛け算をするのがポイントだよ!
それと、表示するとき「改行」しないようにするのも重要なポイントなんだ!
そのためには、print文をちょっと工夫しないといけないんだ!





「end = ""」の「" "」の中に何か文字を入れると、それが出力したあと表示されるんだよ!
それじゃぁ、「九九の表」のプログラムを見てみようか!
最初に実行して、どんなふうに表示されるか確認してね!

for i in range(1, 10):
for c in range(1, 10):
num = i * c
print(num, end = " ")
print()

外側と内側の繰り返しは、それぞれ9回繰り返しているよ!
だから、それぞれのカウント変数は、こんなふうに変化しているよ!


外側の繰り返しは「縦の列」になると思ってね!


2~4行目までは、内側の繰り返しだよ! 3行目で、外側のカウント変数と内側のカウント変数の掛け算をしているんだ!
4行目のprint文が「print(num, end = " ")」ってなってるから、 掛け算の結果は半角スペースがついてこんなふうに横に並んで表示されるんだ!



内側の繰り返しが終わると、5行目のいつものprint文で、何も表示しないで改行だけしているんだよ!
そうすると、こんな「九九の表」ができるんだ!



「九九の表」のプログラムがわかってもらえたかな?
難しかったかもしれないけど、あとで役に立つからしっかり理解しておいてね!

やってみよう
⌨️1
「*」記号を使って、以下と同じ結果となるように「縦8行横5列」の長方形を描いてください。
***** ***** ***** ***** ***** ***** ***** *****
📖 解答例と解説
for i in range(8): for c in range(5): print("*", end = "") print()

計算をする必要はないから、繰り返す回数をそのまま指定すればいいね!
横に並べるときも、「*」の間に何も表示させる必要はないから「end = ""」でいいね!

エスケープシーケンス

「エスケープシーケンス」というのは、文字列の中で使う特殊な記号のことだよ!
彼女は"おはよう!"と言いました。と表示させたい場合、
print("彼女は"おはよう!"と言いました。")と書くとエラーになってしまうね。

print("彼女は"おはよう!"と言いました。")

「"」を文字列の中で使いたいときには、記号の前に「\(バックスラッシュ)」や「¥」をつけて「エスケープシーケンス」にしないといけないんだ!
「\"」と書くことによって「"」が文字列に置き換わるんだよ!


プログラミングでは、特に「\"」「\'」「\n」といったエスケープシーケンスがよく使われるよ!
「\」と「¥」は、同じ意味だから、どちらを使ってもいいよ!
英語モードでキーボードの右上にある「¥」のキーを押すと、「\」が入力できるよ!


「\n」は文字列の中で改行させるときに使う「エスケープシーケンス」だよ!
今までは、
print(5)
print(14)
を実行すると、
5
14
と改行されて表示されていたね。


普通の「print( )」が改行していたのは、本当は表示したあと改行するように「end = "\n"」がついていたからなんだ!
print(5, end = "\n")という表記が正確で、この赤字部分が通常は省略されているんだよ!

# 文字列を\nを使って途中で改行させてみよう
print("あいうえお\nかきくけこ")
# 文字列の中で、"や'を表示させてみよう
print("あいう\"えおかきく\'けこ")
- print文で出力するとき、改行しないようにするには「end = ""」をつける。
- 「end = ""」で、出力後に表示する文字を指定できる。
- 「エスケープシーケンス」を使えば、文字列の中で「"」「'」「改行」を使える。