Codecademy python Unit 8の回答/アラフォー初心者のオッサンだがPython始めました:第10週

f:id:iGCN:20160116160030p:plain

さて

ブログ上でPythonの学習進捗を淡々と記録していくシリーズ第10回です。

前回掲げた目標

前回掲げた今週(03/12 - 03/18)の目標は

  • [ ] codecademy Unit 8終わらせる
  • [ ] Pythonで学ぶ基礎からのプログラミング入門第15回まで読む

だった。

進捗どうですか?

第10週目の進捗(03/12 - 03/18)

f:id:iGCN:20160123115540j:plain:w300

codecademy

codecademy.com

Unit8を最後まで終了。

f:id:iGCN:20160319161737p:plain

Codecademy
 UNIT 8: LOOPS
      Lesson: Practice makes perfect

正直このLessonは骨が折れた。課題の関数を定義して行くのだが、ヒントが最低限しか与えられない。朧げにこうすればいいだろうなという方針をたてて、その機能を実現するための書式をググって検索してはコーディングして行くといった具合。

前回は「しんどい」と書いたが、先週の苦労が身に付いてきたのか、結構すらすらとコーディングして実行できるようになってきてpythonを習得できてきていることを実感できたのは良かった。

参考までに自分の書いたコードをいくつか上げておくので、添削/御意見/コメント等頂ければ幸いです。

12. purify

リストとして与えられた整数から奇数を除いたものを返す関数を定義せよ

def purify(list_numbers):
    new_list = []
    for i in list_numbers:
        if i % 2 == 0:
            new_list.append(i)
    return new_list

13. product

リストとして与えられた整数の積を算出する関数を定義せよ

def product(list_integers):
    product = 1
    for i in list_integers:
        product = product * i
    return product

14. remove_duplicates

与えられたリストから重複されたものを取り除き新しいリストを返す

def remove_duplicates(input_list):
    output_list = []
    for i in input_list:
        if i not in output_list:
            output_list.append(i)
    return output_list

15. median

与えられたリストの数値の中央値を求める。

def median(input_list):
    sorted_list = sorted(input_list)
    if len(sorted_list) % 2 == 1:
        median = sorted_list[(len(sorted_list)-1)/2]
    else:
        median = (sorted_list[len(sorted_list)/2] + sorted_list[len(sorted_list)/2 - 1])/2.0
    return median

len(リスト)が偶数の時、中央値は中央の2つの数字の平均値になるのだが、2で割ると整数値が返ってくる。floatで返すためには2.0で割らないといけないという落とし穴にハマった。

Pythonで学ぶ基礎からのプログラミング入門

マイナビニュースで伊藤裕一さん(@yuichi110)が連載しているPythonで学ぶ基礎からのプログラミング入門を読む。

Pythonで学ぶ 基礎からのプログラミング入門(14) Pythonで日本語を扱うには? - 文字コードについて理解しよう | TECH+

Pythonで学ぶ 基礎からのプログラミング入門(15) Pythonをシェルスクリプトのように使ってみよう(前編) | TECH+

正直チンプンカンプンなので、全体像を掴めればいいかな程度で流し読みになってしまう。

進捗ふり返り

  • [x] codecademy Unit 8終わらせる>目標達成!!
  • [x] Pythonで学ぶ基礎からのプログラミング入門第15回まで読む>目標達成!!

次週の目標

次週(03/19-03/25)の目標は

  • [ ] codecademy Unit 9終わらせる
  • [ ] Pythonで学ぶ基礎からのプログラミング入門第18回まで読む

とする。

では