飛び石連休は物忘れに注意
土曜、日曜と休んで、月曜授業からの、祝日の火曜。
となると、いろんなものを忘れてしまいます。
たとえば、ブログとかね。。。
申し訳ございません。
勉強のほうはできるだけ忘れないように、
時間が許す限りプログラムを書いています。
昨日の授業は、物忘れを考慮してあまり進捗させず、
振り返りや練習問題がメインでした。
今回は、
「どんな問題を解いたか」
を記していきたいと思います。
問題1
for文のみを使って1から10までの偶数を表示しましょう。
解説
学習の目的は、for文とrange関数の仕様理解です。
range関数の仕様である
『range(開始位置, 停止位置, 間隔)』
をうまく使います。
解答
for num in range(2, 11, 2) : print(num)
出力結果)
2
4
6
8
10
ポイント
開始位置を'2'とすることで、'2'から表示します
停止位置を'11’としないと、'9'までしかカウントが回らないので注意です
間隔を'2'とすることで、偶数のみ'num’に設定します
問題2
以下の図形を出力してください
図)
*-*-*
-*-*-
*-*-*
-*-*-
*-*-*
解説
学習の目的はfor文のネストです。
行単位に処理をするfor文と
文字単位に処理をするfor文の
二重構造で記載することができます。
解答
v = False for i in range(5) : for j in range(5) : if v is False : print("*", end="") v = True else : print("-", end="") v = False print()
ポイント
1行目:フラグを使って状態を管理します
5、8行目:『end=""』とすることで、print文の末尾にデフォルトで入る改行コードを消します
10行目:print文の末尾にデフォルトで入る改行コードを利用して、行単位で処理をするfor文の最後に改行を入れます。
発展
このコードをもっと短くすると、こんな感じ
v = False for i in range(5) : for j in range(5) : print(("-" if v else "*"), end="") v = not v print()