プログラミングを学びたいけど、何からやればいいかわからない…ってことはないでしょうか?
プログラミング講座は60万円など、高額で始めにくいですよね。
定額制で、始めやすい講座がテックジムです。
今回は「ゼロから始めるPython講座」と言う講座に取り組み、楽しく学習できたので体験を書きます!
テックジムとは?
「定額制」が売りのプログラミング教室です。
講座は以下の5種類があり、入会すれば定額でいくつでも受講することができます。
講座の種類
- Python基礎コース
- Google Apps Scriptコース
- Ruby on Railsコース
- AIエンジニア養成コース
- スマホアプリ開発コース
Python基礎やRuby on Railsに、AIエンジニア、スマホアプリなどがあります。
スマホアプリ開発コースでは、Swifty(iOSアプリ)やFlutter(Androidアプリ)、Unity(3Dゲーム)など幅広く学べます。
アプリを10個作っていくので、開発を楽しむことができます。
また、Python基礎講座は以下をゴールにしています。
プログラミング初心者が200時間でポテンシャル採用レベルのプログラミングスキルを身につけること
初心者でもOKなので、気軽に始められますね。
テックジムの料金
テックジムの料金は、「入会金33,000円+月額会費22,000円」です。
コース組み替えが自由なので、途中で別の講座の学習を進めることもできます。
テックジムの無料講座とは?
テックジムでは、無料講座という講座も開講されています。
「Python基礎講座」の一部を無料で体験できるので、テックジムの講座がどんな感じか体験することができます。
この「ゼロから始めるPython講座」では、Python基礎講座の一部の内容に取り組むことができます。
今回はこの「ゼロから始めるPython講座」を体験しました!
「ゼロから始めるPython講座」体験記
問題とサンプルコードがもらえるので、課題を解いていきます。
サンプルコードはある程度プログラムが書いてあり、いくつか修正して完成することができます。
今回の体験講座では、問題が6問ありました。
体験で必要なもの
講座体験するには、パソコンが必要です。
用意するもの
・パソコン
パソコンだけあれば、体験講座に取り組むことができます。
サンプルコードがzipファイルでもらえます。
使うエディターは、VSCodeが推奨されているようです。
エディタはプログラムを修正するのに使いますが、好きなエディタを使ってOKです。
プログラムの実行にはPython実行環境が必要です。
Linuxなどで自分で環境を用意しても良いですし、環境作成が面倒ならGoogle Colaboratoryを使うとお手軽です。
今回はGoolgle Colaboratoryを利用しました。
問題1
問題1-1:パーがないじゃんけんを普通のじゃんけんに
import random
print('じゃんけんスタート')
print('自分の手を入力してください')
my_hand = int(input('0:グー, 1:チョキ, 2:パー'))
you_hand = random.randint(0, 2)
if my_hand == 0:
if you_hand == 0:
print('あいこ')
elif you_hand == 1:
print('勝ち')
elif my_hand == 1:
if you_hand == 0:
print('負け')
elif you_hand == 1:
print('あいこ')
このコードをまずは実行してみます。
左側の再生ボタンを押すと、入力待ち状態になります。
こちらの手(0:グー、1:チョキ、2:パー)を入力します。
今回は1(チョキ)を入力しました。
あいこ、が出力されました。
相手の手がランダムでパーを選び、あいこになったことがわかります。
このように、Google Colaboratoryでプログラムを動かしながら学習できます。
結果が返ってくるのでわかりやすいですね。
それでは、問題を見ていきます。
サンプルコードを見ると、自分の手が2(パー)の時の処理が書いていないことに気づきます。
2を入力すると、結果が返ってきません。
自分の手がパーの時(my_hand==2)の処理を追加する必要がありますね。
また、相手の手がパーの時(you_hand==2)の処理も書いていないので、追加します。
import random
print('じゃんけんスタート')
print('自分の手を入力してください')
my_hand = int(input('0:グー, 1:チョキ, 2:パー'))
you_hand = random.randint(0, 2)
if my_hand == 0:
if you_hand == 0:
print('あいこ')
elif you_hand == 1:
print('勝ち')
elif you_hand == 2:
print('負け')
elif my_hand == 1:
if you_hand == 0:
print('負け')
elif you_hand == 1:
print('あいこ')
elif you_hand == 2:
print('勝ち')
elif my_hand == 2:
if you_hand == 0:
print('勝ち')
elif you_hand == 1:
print('負け')
elif you_hand == 2:
print('あいこ')
これで、自分や相手が2(パー)を出した時も、結果が表示されるようになりました!
これで1問演習が終了です。
プログラムを書いて、動くと嬉しいですね!
問題2
1-1の問題を解いて作ったコードですが、条件文が9個もありとても見づらいです。
1-2の問題は、プログラムの改良になっています。
サンプルコードがこちら
import random
print('じゃんけんスタート')
print('自分の手を入力してください')
my_hand = int(input('0:グー, 1:チョキ, 2:パー'))
you_hand = random.randint(0, 2)
if my_hand == 0:
if you_hand == 0:
print('あいこ')
elif you_hand == 1:
print('勝ち')
elif you_hand == 2:
print('負け')
elif my_hand == 1:
if you_hand == 0:
print('負け')
elif you_hand == 1:
print('あいこ')
elif you_hand == 2:
print('勝ち')
elif my_hand == 2:
if you_hand == 0:
print('勝ち')
elif you_hand == 1:
print('負け')
elif you_hand == 2:
print('あいこ')
条件文が多く見づらいため、シンプルに書きたいですね。
問題にあるように、my_handとyou_handの差に注目しましょう。
自分と相手の手は、確か(0:グー、1:チョキ、2:パー)と定義されていましたね。
「my_hand-you_hand」に注目すると、この値は最小で-2(0-2)、最大で2(2-0)になります。
値に注目することで、勝敗がわかりそうです。
- 2(自分:2、相手:0)→勝ち
- 1(自分:2、相手:1)、(自分:1、相手:0)→負け
- 0(自分:0、相手:0)、(自分:1、相手:1)、(自分:2、相手:2)→あいこ
- -1(自分:1、相手:0)、(自分:0、相手:1)→勝ち
- -2(自分:2、相手:0)→負け
これで5パターンにまで減らすことができました。
9パターン→5パターンにまで減らせましたが、まだ問題の「3パターンか4パターン」までは減らせていませんね。
続いて、「勝ち」「負け」「あいこ」になる条件の共通点を探します。
勝ちの時は「2 or -1」、負けの時は「1 or -2」、あいこの時は「0」ですね。
これは「3で割ったあまり(mod 3)」で表現できそうです。
3で割ったあまりで場合分けして、さらにパターンを減らしましょう。
- 2(自分:2、相手:0)、(自分:1、相手:0)、(自分:0、相手:1)→勝ち
- 1(自分:2、相手:1)、(自分:1、相手:0)、(自分:2、相手:0)→負け
- 0(自分:0、相手:0)、(自分:1、相手:1)、(自分:2、相手:2)→あいこ
修正したコードはこんな感じです。
だいぶシンプルになったのではないでしょうか?
import random
print('じゃんけんスタート')
print('自分の手を入力してください')
my_hand = int(input('0:グー, 1:チョキ, 2:パー'))
you_hand = random.randint(0, 2)
if (my_hand - you_hand) % 3 == 2:
print('勝ち')
if (my_hand - you_hand) % 3 == 1:
print('負け')
if (my_hand - you_hand) % 3 == 0:
print('あいこ')
プログラムの答えは1つではないですので、考え方が合っていれば大丈夫です!
シンプルなコードを書けると達成感がありますね。