search
LoginSignup
2

posted at

updated at

「新・明解Pythonで学ぶアルゴリズムとデータ構造」で勉強日記#1

「新・明解pythonで学ぶアルゴリズムとデータ構造」にてプログラミングをどう攻略していけばいいのか悪戦苦闘中。

手助けをしてくれる人がいるのならお金を出してでも所望したい気分デスネ。

さて、今日から、上記の本にて学んだことをまとめておきます。
本来はド頭からやるべきですが、なんとなく繰り返し処理からでいいかなーと思ったので、ここからスタートします。もし振り返ってめっちゃ重要なこと書いてある―!って思ったら追加編集しようと思います。

繰り返しについての部分からになります。(P14の2-1)

以下はすべて同様の処理を別表記にしているみたいですね。

1からnまでの総和を求める。

最初のお題でありがちなやつですね。(総和をどこで使うのかよくわかってない( ;∀;))
ここではwhile文とfor文それぞれの表記をしてくれています。

list1-7
#1からnまでの総和を求める。while文

print('1からnまでの総和を求めます')
n = int(input('nの値:'))

sum = 0
i = 1

while i <= n:
    sum += i
    i += 1

print(f'1から{n}までの総和は{sum}です。')
list1-8
#for 文

print('1からnまでの総和を求めます')
n = int(input('nの値:'))

sum = 0
for i in range(1, n + 1):
    sum += i

print(f'1から{n}までの総和は{sum}です。')

for文にすると簡潔に書けますね…。正直while文の存在意義はどこにあるのか初学者の私には見当もついてないです。
実はラスボス戦で効いてくるポジションなのかな?
わかる方がいればコメントください。

そして、おまけでガウスの法則版を載せます。

EX16
#ガウスの法則
print('1からnまでの総和を求めます')
n = int(input('nの値:'))

sum = n * (n + 1)//2

print(f'1から{n}までの総和は{sum}です。')

今回学びになった点は、数学の偉大さですね。

なんちゃって理系なので、ガウスの法則とか覚えてなかった…。

内容薄いですが、ありがとうございました!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2