iPadでプログラミング!! Pythonistaを使った本格開発(練習問題あり!)

山口
山口

こんにちは!Apple 製品大好き!キカガクの山口です!!
この記事では iPad で Python のプログラミングする方法を紹介します!!

この記事を読んでくださっているということは、あなたはプログラミングに興味をお持ちなんだと思います!

プログラミングを始めとした IT 業界は今とてもホットですよね!
この業界では経済産業省が公式にIT人材が不足するという試算を出しており、今後も需要がある成長産業だと言えるでしょう。

そんな中、「プログラミングを始めてみたいな」という初学者の方や「さらなるステップアップを目指そう!」といった中級・上級者の方もいらっしゃると思います。

この記事ではそういった方に、より手軽にプログラミングをする方法を解説します。

それが iPad でプログラミングをする!というものです。

この記事はどんな人向け?

  • プログラミングを始めたいけどどうすればいいか分からない人
  • すでにプログラミング経験はあるけど、もっと手軽な開発環境が欲しい人
  • 気軽にプログラミングの練習をしてみたい人

必要なもの

  • iPad本体
  • Pythonista 3のアプリ
  • 外付けキーボード(必須ではないがあったほうが良い)

Pythonista 3 とは?

今回はPythonista 3 というアプリを使ってプログラミングを行います。
Pythonista 3 はiPad用(iPhoneでも利用可)の有料アプリです。
このアプリを使うことで iPad 上で Python を使用することができるようになります。
2023年8月現在で¥1,500の有料アプリですが、非常に完成度が高く、使いやすいデザインや iCloud の連携で他端末との同期もできることから十分お金を払う価値のアプリだと言えます。(画像をクリックすると App Store のページに遷移します。)

プログラミングを始める際に最初にぶつかる壁が開発環境の整備です。

パソコンでプログラミングを始めようと思ったら、最初にソフトをダウンロードしてインストールして環境の設定をする必要があります。これがなかなかめんどくさいです。
しかし、 Pythonista 3 なら App Store からダウンロードするだけなので、その工程を省略することが可能です。プログラミング初心者は最初の壁を避けることができますし、中級・上級者の方も楽に開発環境を整えられます!

加えて、中級・上級者の方向けに追加情報を残しておくと Pythonista 3 では Python の標準ライブラリだけではなく numpy や matplotlib も最初から利用できるようになっています。

Pythonista 3 の使い方

App Store からダウンロードできたら、起動もワンタップです。
早速使い方を見ていきましょう

ホーム画面

こちらが Pythonista 3 のホーム画面です。
左上のサイドバー表示ボタンからサイドバーを表示するとフォルダ階層が確認できます。

新規のファイルを作成したい場合は左下の + マークをタップします。

基本操作

では、試しに何か簡単なプログラムを書いてみましょう。
まず、先ほどの+ マークをタップして新しいファイルを作成していきます。
今回は一番シンプルな Empty Script を選択します。

その後、新しく作成するファイルの名前を決めて、 Create をタップします。

すると、エディタ画面に遷移します。
この画面でコードを実際に書いていきます。

では、実際に適当にコードを書いてみます。

最初は print という一番基本的コードを使って、文字を表示させてみたり計算を実施してみます。

書いたコードを実行する時は、右上の ▶︎マーク をタップするか、外部キーボードがある方は cmd + R で実行できます。

すると実行結果が表示されます。
これだけで Python のコードを実行できるのです。単純で便利ですよね!

アプリを作ってみよう! 初級

では、試しに iPad で簡単なアプリを作成してみましょう!
今回作るのはプログラミング教本によくあるような、じゃんけんゲームのアプリです。
初学者の方はこれを機会にプログラミング自体に慣れていただき、中級・上級者の方には Pythonista 3 での開発の手軽さに触れていただけたらと思います。

参考となるコードを記載しておきますので、このコードは練習として手打ちでコピーして頂いても構いませんし、コピペで実行して頂いてもOKです。

Python
# 必要なライブラリをインポート
import random

# じゃんけんの関数を定義
def janken():
    # 選択できる手と終了の選択肢をリストとして定義
    choices = ["グウ", "チョキ", "パア", "終了"]
  
    # ずっとループを続けることで、ユーザが「終了」を選ぶまでゲームを続ける
    while True:
        # ユーザからの入力を受け付ける
        user_choice = input("「グウ」、「チョキ」、「パア」を入力してください(ゲームを終了する場合は「終了」を入力): ")
        # ユーザが「終了」を選んだ場合の処理
        if user_choice == "終了":
            print("ゲームを終了します。ありがとう!")
            break  # ループを終了
  
        # ユーザの入力がchoicesの中にない場合のエラーハンドリング
        if user_choice not in choices:
            print("無効な入力です。もう一度入力してください。")
            continue  # 無効な入力の場合は次のループに移る
   
        # コンピュータが選ぶ手をランダムに決定("終了"は除外して選択)
        computer_choice = random.choice(choices[:-1])
        print(f"コンピュータの選択: {computer_choice}")
  
        # 勝敗の判定
        if user_choice == computer_choice:
            print("あいこです!")
        elif (user_choice == "グウ" and computer_choice == "チョキ") or \
             (user_choice == "チョキ" and computer_choice == "パア") or \
             (user_choice == "パア" and computer_choice == "グウ"):
            print("あなたの勝ちです!")
        else:
            print("あなたの負けです...")

# このスクリプトが直接実行された場合に、janken関数を呼び出す
if __name__ == "__main__":
    janken()

このコードを実行すると次の画面が表示されます。そこで自分の手「グウ, チョキ, パア」を文字で入力してみてください。
そうするとコンピュータの手と勝敗が表示されます!!
ゲームを終了する時は「終了」と入力します。

アプリを作ってみよう! 発展編

さて、ここまでで簡単なアプリの実装を行なっていただきましたが、 Pythonist 3 では iPhone/iPad の UI を活用した実装というものが可能です。
せっかく iPad で実装しているのでそちらも試してみましょう!

内容は先ほどのじゃんけんゲームと同じですが、今度は iPad の UI を活かして文字を入力するのではなく、タッチで選択する形式にしたいと思います。
これを実行すると先ほどの文字入力ではなく、新たなポップアップが表示されます。

こういった iPad の UI を気軽に使えるのも Pythonista 3 の大きいメリットと言えます。

Python
# 必要なライブラリをインポート
import ui
import random

# じゃんけんの処理を行う関数
def janken(sender):
    global result_label  # グローバル変数を関数内部で参照するための宣言

    # じゃんけんの選択肢
    choices = ["グー", "チョキ", "パー"]
    
    # ユーザの選択をボタンのタイトルから取得
    user_choice = sender.title
    
    # コンピュータの選択をランダムに決定
    computer_choice = random.choice(choices)
    
    # 以下で勝敗の判定と結果の表示を行う
    if user_choice == computer_choice:
        result_label.text = f"相手は{computer_choice}です。あいこです!"
    elif (user_choice == "グー" and computer_choice == "チョキ") or \
         (user_choice == "チョキ" and computer_choice == "パー") or \
         (user_choice == "パー" and computer_choice == "グー"):
        result_label.text = f"相手は{computer_choice}です。あなたの勝ちです!"
    else:
        result_label.text = f"相手は{computer_choice}です。あなたの負けです..."

# メインのUIビューの設定
view = ui.View()
view.name = 'じゃんけんゲーム'
view.background_color = 'white'
view.width = 400
view.height = 400

# じゃんけんの3つのボタンを追加
for idx, choice in enumerate(["グー", "チョキ", "パー"]):
    btn = ui.Button(title=choice)
    btn.center = (view.width * 0.5, view.height * 0.3 + idx * 60)  # 位置を中央に、そして縦に並べる
    btn.flex = 'LRTB'  # 画面サイズが変わってもボタンの位置が適切に調整されるようにする設定
    btn.action = janken  # ボタンがタップされた時にjanken関数を実行
    view.add_subview(btn)  # ボタンをビューに追加

# 勝敗結果を表示するためのラベルを作成・追加
result_label = ui.Label()
result_label.frame = (50, 300, 300, 40)  # ラベルの位置とサイズを設定
result_label.text = ''  # 初期テキストは空
result_label.alignment = ui.ALIGN_CENTER  # テキストを中央寄せ
view.add_subview(result_label)  # ラベルをビューに追加

# ビューを表示
view.present('sheet')

このコードを実行すると、先ほどとは違って iPad のタッチ画面で操作が可能になります。
自分の手をタップで選択すると勝敗が表示されます。

まとめ

この記事では Pythonista 3 を使って iPad でプログラミングをする方法をまとめてきました。

iPad でプログラミングをする利点は下記のように色々あります。

  • 手軽さ: iPadはコンパクトで軽量なので、どこにでも持ち運びができ、外出先や移動中でもプログラミングが可能!
  • 直感的なインターフェース: タッチスクリーンを活用した操作ができるため、コードの編集やデバッグ、ビジュアルな作業が直感的に行える
  • 簡単な開発環境のセットアップ: App Storeからダウンロードするだけで簡単に使用開始できるため、複雑なセットアップや設定の手間が不要
  • 統合されたリソース: iPad上でのプログラミングは、カメラ、センサー、音声入力などのiPad固有のリソースを利用したアプリケーション開発が容易
  • アクセス性: iPadは起動が速く、待機時間がほとんどないため、思い立ったときにすぐにプログラミングの練習や実際の開発を始めることができる

PCでプログラミングを行うよりも気軽に行えるということは、学習機会を増やすことにも繋がります。

これからプログラミングをやってみたい方、もっとプログラミングを極めたい方は是非iPadでのプログラミングをおすすめします!!

こちらの記事もオススメ

まずは無料で学びたい方・最速で学びたい方へ

まずは無料で学びたい方: Python&機械学習入門コースがおすすめ

Python&機械学習入門コース

AI・機械学習を学び始めるならまずはここから!経産省の Web サイトでも紹介されているわかりやすいと評判の Python&機械学習入門コースが無料で受けられます!
さらにステップアップした脱ブラックボックスコースや、IT パスポートをはじめとした資格取得を目指すコースもなんと無料です!

無料で学ぶ

最速で学びたい方:キカガクの長期コースがおすすめ

一生学び放題

続々と転職・キャリアアップに成功中!受講生ファーストのサポートが人気のポイントです!

AI・機械学習・データサイエンスといえばキカガク!
非常に需要が高まっている最先端スキルを「今のうちに」習得しませんか?

無料説明会を週 2 開催しています。毎月受講生の定員がございますので確認はお早めに!

説明会ではこんなことをお話します!
  • 国も企業も育成に力を入れている先端 IT 人材とは
  • キカガクの研修実績
  • 長期コースでの学び方、できるようになること
  • 料金・給付金について
  • 質疑応答