はじめに
Pyhonは、近年ではスタンダードになりつつあるプログラミング言語で、プログラミング初心者にもとっつきやすく、一方でAI開発などの高度な使い方までができるのが特徴となっています。実は私は50代のおじさんでして、昔はBASIC、C、C++、Javaなどのプログラミングをしていましたが、久々にプログラミングをしてみたくなり、Pythonを知りました。BASICのようにやさしく初めることができるこの言語は初心者には最適と思いますので、今回ご紹介いたします。
GoogleColabで気軽にPythonプログラミング
Pythonは、非常に多くの環境で使うことができる言語になっていますが、最初、何から始めよう?と思いますよね。そんな時に気軽に利用できるのが、GoogleColabです。(Googleさん、ありがとう!!)
習うより慣れろ!が定番だった昔を思い出しつつ、まずはGoogleColabを使ってみます。早速ですが、まずはブラウザの検索画面で、「GoogleColab」と入力してみましょう。
概ね上記のように、「Colaboratoryへようこそ」といったリンクが出てくると思いますので、そちらをクリックします。
「Colaboratoryへようこそ」画面が表示されますので、
「ファイル」「ドライブの新しいノートブック」を選択します。
※もしGoogleアカウントを持っていなければ、まずはGoogleのアカウントを取得・ログインしてください。
この画面までくれば、すぐにプログラミングが始められます!
なお、GPUを無料で使うこともできますので、いろいろ試して見てください!
まずは単純な数式を使ってみよう
「コーディングを開始するか、AIで生成します。」と表示されたところにマウスカーソルを持っていき、クリックします。
すると入力可能になるので、例えば、
1+1
として、[SHIFT]+[Enter]を押します。すると、
2
と表示されます。(1+1が計算できました)
簡単ですよねー。次に、
2**3
として、[SHIFT]+[Enter]を押します。
8
と表示されます。(2の3乗が計算できました)
Javaなどでは、「2^3」とすると思いますが、べき乗は「**」で表す様です。
次に、すこしプログラムっぽいというところで、代入と関数を使ってみましょう。
x=2
print(x**10)
としますと、
1024
となります。2の10乗が計算され、表示(print)されました。
実はこの「print(x**10)」を、「x**10」とだけ書いても同じ結果になりますが、あえてprint()関数を使ってみました。
for文を使ってみよう
次に、繰り返し処理の基本ということで、For文を使ってみます。
for i in range(10):
print(i)
とすると、
0
1
2
3
4
5
6
7
8
9
と表示されます。
ここで注意が必要なのは、単純にfor i in range(10)とした場合、
1~10ではなく、0~9となる点です。(BASICよりもCやJavaに近い考え方かなと)
また、for文の最後に、コロン「:」をつける必要がある点も重要です。
さらに、BASIC、C、Javaとの大きな違いは、インデント(空白)が重要な意味を持つ点にあります。(私も理解に時間がかかりました)
for文の次の行は、インデント(tabなどで)しないとエラーになってしまいます。
for文は「()」や「{}」といった括弧でくくるのではなく、インデントによりforループの中の要素であることを示す必要があります。
while文を使ってみよう
次に、繰り返し処理の基本その2ということで、While文を使ってみます。
先ほどのFor文と同じことを行うWhile文を書いてみます。
i=0
while(i<10):
print(i)
i=i+1
とすると、
0
1
2
3
4
5
6
7
8
9
と表示されます。(同じですね)
For文同様、文の最後に、コロン「:」をつける必要がある点、インデントを使う必要が
ある点は同じです。
if文を使ってみよう
繰り返し処理のあとは、分岐ですよね。If文も試してみましょう。
・・・と言いたいところですが、単純にIf文をためすだけではおもしろくないので、今度は、プロンプトに対して、
「じゃんけんゲームを作ってください」としてみましょう!
AI(Gemini)がじゃんけんゲームのプログラムを生成してくれます!!
# prompt: じゃんけんゲームを作ってください
import random
def janken():
hands = {0: "グー", 1: "チョキ", 2: "パー"}
user_hand = int(input("0:グー, 1:チョキ, 2:パー\n"))
if user_hand not in hands:
print("正しい数値を入力してください")
return
computer_hand = random.randint(0, 2)
print("あなた:", hands[user_hand])
print("コンピュータ:", hands[computer_hand])
if user_hand == computer_hand:
print("あいこ")
elif (user_hand == 0 and computer_hand == 1) or \
(user_hand == 1 and computer_hand == 2) or \
(user_hand == 2 and computer_hand == 0):
print("あなたの勝ち")
else:
print("あなたの負け")
janken()
そして、これを実行すると、下記のようになります。
0:グー, 1:チョキ, 2:パー
0
あなた: グー
コンピュータ: チョキ
あなたの勝ち
時代は変わったな・・・と感じてしまいますが、気を取り直して説明を続けますと、If文の構文は、
if 条件式 :
命令文
elif 条件式 :
命令文
else:
命令文
となることがわかります。
また、If文の==での値判定、and/or条件の使い方、配列の使い方など、
この自動生成のじゃんけんゲームは、結構色々参考になります。
まとめ
今回は、Pythonの基本構造について記載しました。
Pythonに関する文献は多くありますが、意外と基本構文について書かれているものが少ない気がしましたので、あえて基本事項を書いてみました。Pythonを使っていろいろなプログラムを作ってみてください!