白黒つけようぜ!くまねこ(@kumanecoblog)です。
今日もPython捗っていますか?
ここまで全5回、お疲れ様でした。
今回は「脱入門プログラム制作」として、
今までの知識を使って、プログラムを1から作ってもらいます!
大丈夫です!今のあなたなら必ずできます。自信をもって作成してください。
入門編の集大成!さっそくやってみよう!
制作内容
作っていただく、プログラム名は
「腹ぺこパンダさん」です!
これを作れるようになれば、色々な応用ができるようになります。
制作準備
せっかくなので、Google Colaboratoryのノートも新しいものにしましょう。
ノート名は「test_panda」や「hungry_panda」などわかりやすいものがオススメです。
ノート名の変更方法はこちらを参考にしてください。
制作課題と条件
細かな文言は変えても大丈夫です。
制作開始!
それでは制作に取り掛かっていただきます。
もし、悩んだり迷ったりした時のためにいくつかヒントも用意してあります。
時間がかかっても大丈夫です。何回でも戻って確認しながら作ってもOKです。
最後には答え合わせのようなものがあります。
自分のできたものと見比べてみてください。
それでは・・・スタート!
頑張って!!!!!
迷ったり困った時のためのヒント
解答例用で作ったコードでは、変数は4つ用意しました。
- 笹の重さを入れる変数(weight)
- 笹の数を受けとる変数(count)
- 受け取った値のデータ型を変更する変数(bamboo_count)
- 笹の合計値を入れる変数(total_weight)
入力を受け取るにはinput関数を使います。
データ型が異なるものは一緒には使えません。
Pythonでかけ算を使う時は「×」の符号は使えません。
解答例では、「変数A = 変数B * 変数C」と書いてあります。
この変数Aはこの後の条件分岐で使ってます。
条件分岐には2つルールがありました。
解答例ではif文の条件が合っている時にはこのように表示されます。
「●●g 食べました。パンダさんはお腹いっぱいになりました。」
print(str(total_weight) + "g 食べました。パンダさんはお腹いっぱいになりました。")
解答例では、このように書いてあります。
完成!
お疲れ様でした!無事できましたか?流石です!
いかがだったでしょうか。この全5回の知識を余すことなく詰めた卒業課題だったので、
やや難しかったかもしれません。
もしできなかったとしても気にすることはありません。何度も繰り返してできるようになればいいのです!
では、解答例と見比べてみましょう。
解答例
解答例として書いたものです。
僕と一緒じゃなくてもなんの問題もありません。
動いていればそれが正解です。
weight = 100
print("笹は1つ" + str(weight) + "gです。")
count = input("パンダさんにいくつ笹をあげますか?:")
bamboo_count = int(count)
total_weight = weight * bamboo_count
if total_weight >= 1000:
print(str(total_weight) + "g 食べました。パンダさんはお腹いっぱいになりました。")
elif total_weight >= 500:
print(str(total_weight) + "g 食べました。パンダさんはまだまだ食べれそうです。")
else:
print(str(total_weight) + "g 食べました。パンダさんはまだお腹が空いています。")
「自分はこう書いたよ!」というものを教えてください。
みなさんがどんな変数名をつけているのか、どんな風に書いているのか
とても気になります!
僕も皆さんのコードを参考にさせてください。
Twitterやコメント欄で待ってます!
解説
解説を1~3に分けました。気になるところから読んでもOKですし、もちろん頭から読むのもOKです。
#解説1
weight = 100
print("笹は1つ" + str(weight) + "gです。")
解説1 にジャンプ
#解説2
count = input("パンダさんにいくつ笹をあげますか?:")
bamboo_count = int(count)
total_weight = weight * bamboo_count
解説2 にジャンプ
#解説3
if total_weight >= 1000:
print(str(total_weight) + "g 食べました。パンダさんはお腹いっぱいになりました。")
elif total_weight >= 500:
print(str(total_weight) + "g 食べました。パンダさんはまだまだ食べれそうです。")
else:
print(str(total_weight) + "g 食べました。パンダさんはまだお腹が空いています。")
解説3 にジャンプ
解説1
まず、ユーザー側に「笹の重さ」を提示したかったので、
print文で表示されるようにしました。
print(“笹は1つ100gです。”)と書いてもよかったのですが、
しなかった理由は2つです。
- 今後、笹の重さが変更になるかもしれない。
- せっかくの卒業制作なので、お伝えしたことを使いたかった。
そのため、変数weightを使いました。この変数weightを使うためにはデータ型を変更する必要があるので、str(weight)としてから連結させました。
変数weightの値(100)は、計算をするときに使うことが多いと思ったのでint型にしました。
あとは、数値をわざわざstr型(文字列)にする必要もないかと思ったのでstr型にしていません。
解説2
変数countにinput関数でユーザーから受け取った値を代入してあります。
受け取った値はstr型(文字列)なので、int型に変更して別の変数に代入しました。
計算する時に weight * int(count) と直接データ型を変更しながら計算させてもいいのですが、やらなかった理由が2つあります。
- コードを見やすくするため
- 予期せぬエラーが起こらないように
僕の癖のようなものでもありますが、input関数で数字を受け取った時は、別の変数にデータ型をint型にしてから代入をしておくようにしてます。
解説3
下記のようなフローチャートで条件分岐をしました。
何gのところは解説1,2でも出てきたように、total_weightのデータ型をint型→str型に変更してから連結してあります。
解説は以上です
解説で分かりづらいところがあったり、
なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
ちなみに、Twitterが一番連絡が早いかと思います。
脱!入門者!
おめでとうございます!よくぞここまでやりきりました。
もうこれで、あなたのことを入門者と呼ぶものはいません。
脱入門者!です!本当におめでとうございます。
あなたが作りたいものは何ですか?
そして、ここからがスタートラインと言っても過言ではありません。
ここで学んだことはあくまでも最低限の入門コースです。
まだ先は長いですが大丈夫です。あなたなら必ずできます。
なぜなら、このコースをやり切ったのだから
あなたが作りたいものや想像したものをここからドンドン生み出していってください!
あなたの作りたいもの、もしよかったら教えてください!
あなたが目標に到達する日を楽しみにしています。
いつでも戻ってきてください
「これってなんだっけ?」と思ったらまたいつでも戻ってきてください。
人は忘れるものですが、忘れた時にまた思い出したらいいのです!
なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
「できた!」など嬉しいことはコメント欄などのオープンなところでぜひ教えてください。
よりよいプログラミングライフを!
この記事が少しでも役立ててもらえたらうれしいです。
今回も最後まで読んでいただき、本当にありがとうございました!
コメント