総和|Python|初心者と歩くプログラミング上達への道

こんにちは、鈴です。

 

私はコンピュータ系専攻の学部1年で、大学からプログラミングをはじめました。

 

このブログは私の備忘録であり、同じように未経験からPythonを学んでいる方の参考になればいいなと思っています。

 

学校の課題等が忙しく、久々の更新となってしまいました。

 

私の話はさておき、今回も早速行きましょう!

 

 

今回のテーマは、

 

任意の数字を入力し、1からその数までの総和を求める

 

ことです。

 

今回のプログラムでは、1より小さな値が入力された場合はエラー表示することとします。

 

 

一度自力でやってみるもよし、私の書いたプログラムをみて納得するもよしです。

 

 

<目次>

 

 

プログラム例

f:id:riririririn:20190102013607p:plain

総和 Python プログラミング例

 

何をやったか簡単に説明して行きます!

 

5、6行目は入力コマンドですね。

 

これで入力された値を整数型で保存しています。

 

 

私の計画は、

 

リストに1から入力された数字までを全て突っ込み、そのリストの総和を求めることによって総和を出す

 

というものでした。

 

よって、

 

①空のリスト作成

 

 今回は数字を突っ込むのでリストの名前を"num"としました。

 (この辺は自分の好みで決めてください笑)

 

 

②入力された値が1以上であるか

 

 これはif文を利用して記述しました。

 

 

③1以上であれば、1から入力された値までの間でリストに数字を追加

 

 数字の置き方で混乱してくるかもしれませんが、iまでの範囲にあるjという数字について考えるfor文になっています。

 文字が増えると少しややこしくなりますね。

 

 ①で作った空のリストにfor文の条件に該当する数字が1から順番に追加されるようになっています。

 

④sum_nという変数として、numの総和を格納

 

 該当する数字を全てリストに追加した後、リスト自体の総和を求め、その値を"sum_n"として格納しました。

 

 

⑤出力処理

 

 以上の処理によって得た総和をprint関数で出力します。

 

⑥入力された値が1より小さかった場合の処理

 

 ②から⑤までは全て同じif文の中に収められた処理です。

 if文の条件に該当しない数字(1よりも小さい数字)が入力コマンドで入力された場は、今回はelse文を利用してエラー表示する仕様にしました。

 

 

以上が私のプログラムの説明になります。

 

もっといいプログラムの書き方もあるとは思いますが、とりあえず動作確認して問題なかったので、大丈夫だと思います!笑

 

 

使った手法

 

続いて、このプログラムで使った物をかき並べて行きます。

 

list = [ ]

空のリストを作成する処理です。

 

前回のプログラムでも出てきましたね。

 

if・else文

条件に合わせて処理を変更します。

 

else文はif文内の条件に該当しない物を全て処理してくれるので使い勝手がいいですね。

 

range(i+1)

これは使ったものの説明というよりは補足なのですが、rande(数字)で範囲を特定する場合、その範囲は0から()に記述した数字−1までの値になります。

 

今回は()内に入力した値まで全て利用する必要があったので、rangeの()内がi+1になっています。

 

sum(list)

これは、リスト内の要素を全て足し合わせる処理をします。

 

 

まとめ・余談

 

いかがでしたか?

 

プログラミングはただだらだら長く書けばいいわけじゃないってことが最近わかってきました。

 

いかに簡単に一意的な文でコンピュータに命令を出せるか、が大事なんですよね。

 

そのためには、初見の人にも何がしたいのかがすぐに伝わるようなプログラムを書く必要があります。

 

少しずつではありますが、この場を通して人に伝わるプログラムを意識することで自分の能力が向上すればいいなあ。。と思っています。

 

 

最近、大学ではC言語に取り組むようになってきました。

 

進度が早すぎて、未経験の人間には難しすぎるような課題も多いです。

 

正直つらいですが(笑)、そのぶん早く能力が身につくはず!とプラスに考えて食らいついております。

 

同じようにプログラミングに取り組んでいる方、一緒に頑張って行きましょうね。

 

Pythonの記事がある程度溜まったら、C言語についての記事も書いていこうと思ってます。

 

また、時間に余裕がありましたら閲覧していただけると幸いです。

 

 

最後まで読んでくださってありがとうございました!