降順でのループ|Python|初心者と歩くプログラミング上達への道

こんにちは、鈴です。

 

私はコンピュータ系専攻の学部1年生で、未経験でプログラミングを学んでいます。

 

このブログは私の備忘録であり、同じようにPythonを学んでいる人の手助けになればなと思って書いています。

 

 

前回の記事はこちら⬇︎

 

riririririn.hatenablog.com

 

 

では、今回のテーマは

 

「降順でのループ」

 

そして、これを習得するための今回の課題は、

 

「100から1までの数を降順で表示せよ。なお、各数の後にはコンマとスペースを入れよ。」

 

です。

 

それではやっていきましょう。

一度自力でやってから回答を見るもよし、そのまま解説を見るもよしです。

 

<目次>

 

 

 

 

プログラム例

f:id:riririririn:20181109005116p:plain

 

何をやったか簡単に説明しますね。

 

私の計画としては、リストに1から100までをぶち込んで並び替えたいと思いました。

 

よって、

 

①空のリストを作る(上図35行目)

 

②1〜100までの間繰り返し、(上図37行目)

 

③リストに指定の数を加えていく(上図38行目)

 

④リストの中身を並び替える(上図40行目)

 

⑤並び替えを降順に直す(上図41行目)

 

⑥降順に並べられたリストを出力表示する(上図43行目)

 

この手順で、無事1から100までを降順表示できました。

 

やり方は他にもあります。

 

筆者としては、この後リストの要素を一個ずつ表示できた方が美しいかなあと思います。

 

今書いた私のプログラムでは、リスト特有の[ ]とコンマが間に入りこんでしまいます。

 

いいプログラム思いついたらまたこの記事更新しますね。

 

使った手法

 

続けて、このプログラムで使ったものを書き並べていきます。

 

list = [ ]

これは、空のリストを作成するときに使う表記です。

 

左辺はlistでなくても任意の文字列でOKです。

 

左辺がそのリストの名前となり、以後そのリストを利用することができるようになります。

 

for i in range(1,101):

これは、1から100の間にある任意の文字iについて・・・

 

という表現です。

 

各要素は必ず1回ずつ利用されます。

 

気をつけて欲しいのが、rangeは「1つ目の数字以上、2つ目の数字未満の整数に対して以下の動作を繰り返す」というものなので、

 

100まで行いたい場合は2つ目の数字に101を設定することです。

 

リスト名.append()

これは、リストに()内の要素を追加する処理です。

 

リスト型にしか「.append()」は利用できないので注意してください。

 

リスト名.sort()

リスト内の数字などを昇順で並び替えます。

 

これも先ほど同様、リスト型にしか使えない表現です。

 

リスト名.reverse()

その時点でのリストの並びを逆順にする(リバースする)処理です。

 

くどいですがこれも、リスト型にしか使えません。

 

 

まとめ

 

いかがでしたか?

 

今回のプログラムは売り上げ一覧や価格順などを作成したいときに使えそうですよね。

 

まだまだ単純なプログラムなので、こういう基礎からしっかりやっていくことが上達への近道だと(私は)思っています。

 

いつかすごく長いプログラムをかけるようになりたいものですね。

 

ということで、今回はおしまいです。

 

最後まで閲覧してくださってありがとうございました。