どうも、ひろです。
今回は、Pythonを本格的に学びたいと思います。
以前、Pythonで横スクロールのゲームを作りました。
ですが、私はノーコード(1文字も文字書いてない)で全てAIに作ってもらいました。
そのため、私はPythonのことを全然理解できていません。
なので、今回は少しPythonを習った人が始めに作る電卓を、AIに教えてもらいながら作っていこうと思います。
電卓をAIに作ってもらう
まず、今の私には電卓を作ることすらできないので、AIに頼んで電卓を作ってもらいました。

※1
このようなコードが出てきました。
早速、実行し聞かれた質問に答えていきます。
始めに、数字を入力してくださいの文字が出てきて好きな数字を入れます。
私は1と入れエンターキー。
次に、四則演算を聞かれます。
私は+を入力しエンターキー。
最後に足す数字を入力します。
私は5を入力しエンターキー。
すると、結果と書いてあるところに答えの6が出てきました。

※2
すごく簡易的ですが、電卓が完成しました。
AI先生から、コードの意味を教えてもらう
電卓を作る際に「初心者、電卓作成」と入力して電卓を作ってもらったので、なんとAIがコードの意味も一緒に書いてくれていました。
始めに教えてくれたのが、私たちが目に見えるコード※2が表示される方法です。
当たり前ですが、電卓は計算するための数字が見えなくては、どの数字を打ったかや何桁まで打ったかが分からず、とてもではありませんが計算する以前の問題になってしまいます。

その問題を、解決するための土台を作ります。
まず、
num1 = float(input(“数字を入力してください: “))
始めに計算するための数字を入れるためのコードです。
floatとは、小数点も使えるようにするためのコードで、この文字がある事によって結果が6.0と小数点までの数字が出ました。
inputとは、こちらが書き込みパソコンが記憶、目に見えるように表示するためのコードです。
つまり、num1=数字(小数点を含む)を覚えてくれる箱となります。
次に、operatorです。
operator = input(“演算子を入力 (+ – * /): “)
operatorとは、+ー*/の4つの演算を聞くコードです。
inputに、この4つの演算のどれを使うかを書き込み記憶します。
つまり、operator =演算(+ー*/)の箱となります。
最後に
num2 = float(input(“数字を入力してください: “))
始めの数字と演算を決めたので、最後の数字を書き込み、計算する土台を記憶してもらいます。
つまり、num2 = num1に組み合わせる数字(小数点を含む)を覚えてくれる箱となります。
これで、私たちが目に見える※2が完成しました。
次のステップは、内部で計算するためのコードです。
このコードがないと、いくらnum1やnum2に数字を書き込んで、operatorで(+ー*/)を決めても計算をしてくれず、ただの書き込みにしかなりません。

まずifです。
ifとは「もし」という意味で、『if operator == “ “:』の の部分に演算が入力されると計算を始めてくれます。
※2では の部分に+が入っています。
つまりnum1、num2の間のoperatorで+が入っている場合はnum1+num2となります。
ですが、これだけではoperatorに他の演算が入ってしまった場合のことが書かれていないので、パソコンが混乱してしまい計算がうまくいきません。
その問題を解決してくれるのが

elif文です。
elifとは、ifの他の条件が入ってしまった場合に対処してくれるコードです。
elif operator == “ “:
ifで予想外の演算(+以外の演算)が入ってしまった場合、elifの で対処してくれます。
elif operator == “ー“:
だった場合、
result = num1ーnum2となります。
あとは、ifでは対処できない演算(*/)をelifでカバーしあっていくコード書けばresult(結果)で答えを出してくれます。
ただ、これだけではある問題でパソコンがまた混乱してしまいます。
それは/で割り切れなかった計算になってしまった場合です。
それはnum2に0の数字を入れた時です。
0では割り切ることができません。
その時は、またifを使います。

if対処できない時はelifで対応するけど、elifでifのことが起きた場合は無理ですよ。
となります。
また、演算部分で四則演算以外の文字やマークを入れた場合もパソコンが混乱してしまうので
elifで対処します。

全ての計算がうまく行った場合は、
![]()
ポイント
ここで、AIがいくつかのポイントをあげていたのでご紹介させていただきます。
1つ目は、『=』は代入で『==』は比較
書かれているコードを見ていけば分かると思いますが、=の数か1個だったり2個だったりのところがあります。

それは、
=の数が1個だった場合は代入で「結果を保存する」
=の数が2個だった場合は比較で「同じか確認する」
です。
ここが分かると、これからコードを書いている時でもスムーズに書けるようようになると思います。
2つ目は、Pythonはスペース(空白)でプログラムの言葉を作っています。
1つのコードや文字を1つの言葉と捉えるためにスペース(空白)を使うので、もしスペース(空白)の位置がずれてしまった場合はうまく実行できません。
例えば
「松竹梅」だと「しょうちくばい」
ですが、
「松 竹 梅」だと「まつ たけ うめ」
になります。
Pythonも一緒でスペース(空白)と言う区切りをつけないと何て呼んだら良いか分からなくなり、実行できなくなります。
なので、1つの言葉のコードにしたい場合はスペース(空白)は必須になります。
※Googleで調べたらスペース(空白)の数も影響があるらしいです。
ちなみに、初心者な私は今のところスペース(空白)の数でエラーが起きたことはまだないです。
3つ目は、コード自体は半角英数で書く
printで表示したい文字は全角でも構いませんが、他のコードを書くときは半角じゃないとダメらしいです。
これは、Pythonだけではなく、他のプログラミング言語でも共通することだと思われます。
でも、私は全角で文字を打つことが多いので、つい忘れて全角で打ってしまうことも多いです。
終わり
今回はAIの力を借りて、初心者でも作れる電卓を作りました。
書かれているコードを見ながら理屈を聞けば分かりますが、いざ自分でコードを書いてくださいと言われると中々に難しいと感じました。
※VScodeでは予測変換してくれるのでミスを減らすことはできます。
ただ、とあるプログラミングのYouTubeを観ていたら、その先生が「プロでも、何も見ずにコードを全て書けと言われて、書ける人は実は少ない」と言っていました。
さらに先生は「今の世の中、プログラミングの世界では分からないことがあればネットで探せば必ず探し物は見つかる。見つからない時は探し方が悪い」とも言っていました。
しかも今はAIもあります。
なので、コードの文字を見て挫折しそうな人は安心してください。
次回は、Pythonで簡単なものを作ろうかJavascriptで簡単なものを作ろうかで悩んでいるので、どちらかをできればと思っています。
ご覧いただきありがとうございました。
