ものづくりIoTブログ

B-EN-GのIoTのスペシャリストが
IoT関連の先端技術及び最新トピックについての
取組みをご紹介します。

ブログのトップ画像

monozukuri-iot's topics

ヨンジェンのIoT日記③

2018/03/29 ・記事をシェアする

こんにちは。B-EN-G新入社員のヨンジェンです。

今回の記事は前の続き、MITの教材を参照しながらPythonを紹介したいと思います。

皆様、MITのオンライン授業をご覧いただきましたでしょうか?

MITオープンコースウェア

↑記載された内容はプログラミング初心者向け、MIT1学期の教材です。

この本は2学期分です。

本の前半はコーティングに必要なベーシック

  1. Loops and Search
  2. Functions
  3. Tuples,Lists,Dictionaries
  4. Classes and Object-Oriented Programming
  5. Algorithms and Data Strcutures

今から前回の質問を答え合わせしながら「Loops」を紹介します。ぜひお付き合いください。

Loopsを勉強しよう

夢の家編

問題:'MIT卒'のあなたはサンフランシスコ湾で家を買うつもりです。サンフランシスコ湾の家は高いので今から貯金すると何年後に夢の家の頭金が貯まりますか?

  1. 家の値段を決める、頭金は25%
  2. 新卒のあなたの貯金はゼロ
  3. 毎月の給料は貯金し、そして投資する
  4. 投資金利は年率ば4%、月末にリターン(投資額⋆0.04/12)がもらえる
  5. 半年間一回の昇給(仮に3%)

回答

年給 = float(input("年給を入力してください: "))
貯金パーセント = float(input("給料の何パーセント(小数点の形)を貯金するか入力してください: "))
家の値段 = float(input("夢の家の値段を入力してください: "))

貯金 = 0
月 = 0
頭金 = 家の値段*0.25
月貯金 = 年給/12*貯金パーセント
while 貯金 < 頭金:
    貯金 += 貯金*0.04/12
    貯金 += 月貯金
    月 += 1
print("頭金が払えるまで後{}ヶ月".format(月))

模範答え①

年給を入力してください: 120000
給料の何パーセント(小数点の形)を貯金するか入力してください: 0.1
夢の家の値段を入力してください: 1000000
頭金が払えるまで後183ヶ月

模範答え②

年給を入力してください: 80000
給料の何パーセント(小数点の形)を貯金するか入力してください: 0.15
夢の家の値段を入力してください: 500000
頭金が払えるまで後105ヶ月

While loopの説明

while 貯金 < 頭金:
    貯金 += 貯金*0.04/12
    貯金 += 月貯金
    月 += 1

While loopはターゲット(頭金)をたどり着くまでコツコツ回す処理です。

実は模範答え①の場合は183回繰り返しており、「月」はカウンタとして回数を記憶します。

年給は右肩上がり

半年間一回昇給の場合

年給 = float(input("年給を入力してください: "))
貯金パーセント = float(input("給料の何パーセント(小数点の形)を貯金するか入力してください: "))
家の値段 = float(input("夢の家の値段を入力してください: "))
昇給 = float(input("半年一回の昇給を入力してください: "))

貯金 = 0
月 = 0
頭金 = 家の値段*0.25
月給 = 年給/12
月貯金 = 月給*貯金パーセント

while 貯金 < 頭金:
    
    月 = 月+1
    if 月 % 6 ==0:
        月給 = 月給*(1+昇給)
    月貯金 = 月給*貯金パーセント
    貯金 += 貯金*0.04/12
    貯金 += 月貯金
    #月 = 月+1
print("頭金が払えるまで後{}ヶ月".format(月))

模範答え①

年給を入力してください: 120000
給料の何パーセント(小数点の形)を貯金するか入力してください: 0.05
夢の家の値段を入力してください: 500000
半年一回の昇給を入力してください: 0.03
頭金が払えるまで後142ヶ月

模範答え②

年給を入力してください: 75000
給料の何パーセント(小数点の形)を貯金するか入力してください: 0.05
夢の家の値段を入力してください: 1500000
半年一回の昇給を入力してください: 0.05
頭金が払えるまで後260ヶ月

If文の説明

if文は条件演算子の一つです。プログラミングにおいて「もしXならば、Yせよ、さもなくばZせよ」の処理です。今回は6ヶ月間一回の昇給を見つける為に代数演算子の%と一緒に使いました。%は割り算の余りで、6の倍数なら必ずゼロに戻せます。

月 % 6 == 0 # 月は6の倍数以外ならIf文は実行しません

今回はここまで。 回答は次回に公開します。(ヨンジェンの挑戦は続く・・・・)

About Me

東洋ビジネスエンジニアリング株式会社の
「ものづくりIoT(Internet of Things)」の
取り組みを発信する公式サイトです。

"すべては変革のために"

ものづくりIoTに取り組むお客様の成功を
支援いたします!