白黒つけようぜ!くまねこ(@kumanecoblog)です。
今日もPython捗っていますか?
今回は「脱初心者プログラム制作」として、
今までの知識を使って、プログラムを1から作ってもらいます!
大丈夫です!今のあなたなら必ずできます。自信をもって作成してください。
ここまでの集大成!さっそくやってみよう!
制作内容
今回は2つ用意しました。どちらからやっても大丈夫です。
なんなら、片方だけでもOKです!
今も定着度を測ってください!
作ってもらうもの
作ってもらうプログラム名は
「まだまだ食べたいパンダさん」と
「お腹がいっぱいになるまで食べるパンダさん」です!
これを作る知識が応用に使えるよ!
制作準備
せっかくなので、Google Colaboratoryのノートも新しいものにしましょう。
ノート名は「kumaneco_test」や「hungry_panda」などわかりやすいものがオススメです。
ノート名の変更方法はこちらを参考にしてください。
制作課題と条件
意図的に、制作課題の情報をすこし絞ってます。
自由に作ってほしいな!と言う思いと、
実際案件をもらう時に雑に渡させることもあるので
少しでも実践的に成ればいいな!と思い、情報を絞りました。
その1「まだまだ食べたいパンダさん」
その2「お腹がいっぱいになるまで食べるパンダさん」
制作スタート!
それでは!制作に取り掛かっていただきます。
もし、悩んだり迷ったりした時のためにいくつかヒントも用意してあります。
時間がかかっても大丈夫です。何回でも戻って確認しながら作ってもOKです。
最後には答え合わせのようなものがあります。
自分のできたものと見比べてみてください。
それでは・・・スタート!
頑張って!!!!!
迷ったり困った時のためのヒント
その1「まだまだ食べたいパンダさん」
まず、パンダさんにあげるご飯の重さを入れていく変数を宣言します。
数字を入れていくので、僕は一番はじめにこのように変数を宣言しました。
panda = 0
値が、インデックス番号ではなく、それぞれキーで管理されているものは辞書型でした。
辞書型の作り方をカンニングしたい方は第2回を!
辞書やリストに入っている要素を1つずつ取り出して処理を行うためには
for文が有効でした。
for文をちょっとだけカンニングしたい方は第3回を!
辞書をfor文で使うと取り出されるのは、「キー」でした。
入門コースで出てきた、if文で条件分岐ができます。
使い方にちょっとだけ自信がない方は、こそっとカンニングしてください!
その2「お腹がいっぱいになるまで食べるパンダさん」
その1のヒントと同じ内容になるものは省いてあります!
while文は、条件が満たされるまで処理を繰り返し行います。
そのため、無限ループの原因にもなります。
while文の書き方をカンニングしたい方は第4回を!
完成!
お疲れ様でした!無事できましたか?できましたか!流石です!
どんなものを作るのかが、意図的に情報を絞ったのでやや難しかったかもしれません。
もしできなかったとしても気にすることはありません。
何度も繰り返していくうちにどんなものを作ればいいのかイメージできるようになります!
そして最終的にできるようになります!それでいいのです!
では、解答例と見比べてみましょう!
解答例と解説
その1「まだまだ食べたいパンダさん」
#1
panda = 0
foods = {'笹':50, 'りんご':10, 'たけのこ':100}
#2
for food_key in foods :
print(food_key + 'は、1つ' + str(foods[food_key]) + 'gです')
print('いくつあげますか?')
count = int(input('パンダさんにあげる' + food_key + 'の数は? >>'))
#3
print('パンダさんに' + food_key + 'を' + str(count) + 'つ、あげました。')
panda += foods[food_key] * count
print('パンダさんに、合計' + str(panda) + 'gあげました。')
print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
#4
if panda >= 1000:
print('パンダさんはお腹いっぱいです')
print('●(・●・)●「ありがと!」')
else :
print('パンダさんは物足りなかったみたいです')
print( '●(・●・)●「・・・」')
#1
まず、受け取ったご飯の合計量を入れるめの変数を宣言しました。
次に、辞書にキーをご飯の種類、値を重さにして作りました。
#2
foods辞書をfor文で回し、取り出されるキーをfood_keyに代入させます。
for文内の処理は、何をどれだけ受け取るかをinput関数で受け取り、
#3
int型とstr型に気をつけながらprint関数で表示しました。
print(‘~~~’)は見やすくするための装飾です。
#4
for文の処理が終わったら変数pandaに入っている数で条件分岐しました。
その2「お腹がいっぱいになるまで食べるパンダさん」
#1
panda = 0
foods = {'笹':50, 'りんご':10, 'たけのこ':100}
#2
while panda <= 1000:
print('なにをあげますか?')
print('笹:50g , りんご:10g , たけのこ:100g')
food_key = input('笹/りんご/たけのこ >>')
count = int(input('いくつあげますか? >>'))
panda += foods[food_key]*count
#3
print('パンダさんに' + str(foods[food_key]) + 'を' + str(count) + 'つあげました')
print('合計' + str(panda) + 'gです')
#4
print('パンダさんはお腹がいっぱいになりました。')
print('●(・●・)●「ありがと!」')
#1
その1と同じです。
#2
変数pandaが1000以上になるまで繰り返し処理を行うようにwhile文を書きました。
input関数で直接キーを入力してもらうようにしました。
#3
その1と同じくstr型とint型に気をつけながらprint関数を使い、
#4
while文の処理が終わったら処理が終わったとわかるメッセージを書きました。
解説は以上です
解説で分かりづらいところがあったり、
なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
コードもスクショなどで送ってくだされば添削やります!
ちなみに、Twitterが一番連絡が早いかと思います。
脱初心者!
おめでとうございます!あなたは脱初心者となりました!
本当にお疲れ様でした!
今回までで、色んなものが作れます!
あなたの作りたいものを実際に作り始めちゃってください。
ですが!Pythonには、まだ身につけないといけない基礎知識があと少しあります!
関数を作ったり、クラスなどなどあります。
なので、もう少しこの初級コースは続きます。
もしよかったら、最後まで一緒に駆け抜けましょう!
とにかく、おめでとうございます!お疲れ様でした!
いつでも戻ってきてください
「これってなんだっけ?」と思ったらまたいつでも戻ってきてください。
人は忘れるものですが、忘れた時にまた思い出したらいいのです!
なにか分からないことがあればTwitterのDMにてご連絡ください。
「こんな簡単な事聞いちゃってもいいのかな」と心配することはありません。
どんなことでもお気軽にご連絡ください!
「できた!」など嬉しいことはコメント欄などのオープンなところでぜひ教えてください。
よりよいプログラミングライフを!
この記事が少しでも役立ててもらえたらうれしいです。
今回も最後まで読んでいただき、本当にありがとうございました!
コメント