Pythonメモ1-4

今日は今日と明日が休みなんで、近くのIntroduction To Programming Iで問題を開いてから滅多に人が来ない所なんで、そこでしこたまASMRを聴きながらやりはじめたんや。

 

 

だが、ジャブ問題がずらっと並んであるだけだったので、今後の自分のためになりそうな問題や考え方や表記法とかを書いていこうと思う。

 

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

 

複数の Hello World の出力

 

 

・本問を見て瞬時にfor文で解くことが可能だと経験的に理解し、実際にコードを書くことができた。

 

▼以下のコードは10回表示させる場合であるが、input時に任意の数 n が入力され、n 回だけ Hello を表示させる場合は range(n) に変えればよい。

  1. for i in range(10):
      print("Hello")

 

 

・問題は、これをwhile文で処理しようとする際に、コードをどう組むかである。

 

▼while文の書き方:

  1. while 条件式:
    条件式が真の時に実行する文

 

と書く。条件式を満たす場合にのみ、文を実行する。

そのため、文には print("Hello") が入るのが分かるが、for文のように回数を設ける場合はどうだろう。

 

▼実はシンプルで、条件を満たすなら i += 1 と書き、i が制限に達したら条件式に反する、というように書けばよいのだ。具体的に書くと以下のコードになる。

  1. i=0
    while i <10:
      print("Hello")
      i += 1

 

これで任意の指定回数分(上記コードは10回)だけ出力するコードを組むことができた。

改めてみると、for文の方が圧倒的に使い勝手が良いが、多重ループ時においてのTLEで引っ掛かることが多いので、その際にも応じてwhile文にも慣れた方が良い気もした。(実際、while文を使わなさ過ぎてどう使えばいいのかも理解していない)

 

▼ということで、正の整数 n が入力され、n 回だけ Hello を出力するコードをfor文とwhile文でまとめて書いてみる。

  1. n=int(input())

    for i in range(n):
      print("Hello")

    t=
    0
    while t <n:
      print("Hello")
      t +=
    1

 

 

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

 

・3500文字くらい書いたのに1000文字ちょっとしか反映されてなかった。萎えたのでtwitter上にこの記事は上げません。