Pythonオンラインコンパイラ&デバッガー

Pythonコードをオンラインで実行・デバッグできます。サーバーモードでブレークポイントとステップ実行を使え、インストールは不要です。

🚀 4,279,692 合計実行 (92 今月)
出力

Pythonのコーディングチャレンジで練習

このエディタで実践的な問題を解こう。サンプルテストを実行し、提出してAIコードレビューを受けられます。

すべてのPythonチャレンジ
簡単

Average of Three

Average three whole numbers.

学べること 算術除算
BeginnerLearning-pathVariables
簡単

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

学べること 算術戻り値
BeginnerLearning-pathVariables
中級

遺伝的アルゴリズムの 1 世代

トーナメント選択、一点交叉、突然変異でビット列の次の世代を作ります。

学べること 遺伝的アルゴリズム進化的探索
OptimizationSimulationai
まだ解答がありません
簡単

ε-greedy による多腕バンディット

ε-greedy な行動選択で、多腕バンディットの探索と活用のバランスを取ります。

学べること 探索と活用バンディット
強化学習ai機械学習
まだ解答がありません
簡単

マルコフ連鎖の状態分布

マルコフ連鎖の遷移行列を使って、確率分布を指定したステップ数だけ伝播させます。

学べること マルコフ連鎖確率
Simulationaimath
まだ解答がありません
中級

価値反復法

ベルマン最適方程式による更新を繰り返し、マルコフ決定過程の各状態の価値を計算します。

学べること ベルマン方程式マルコフ決定過程
強化学習ai機械学習
まだ解答がありません
中級

アルファベータ枝刈り

アルファベータ枝刈り付きのミニマックスでゲーム木を評価し、実際に調べた葉の数を数えます。

学べること アルファベータ枝刈りゲーム探索
RecursionTreesai
まだ解答がありません
中級

ミニマックスで三目並べ

ミニマックスでゲーム木全体を探索し、三目並べの完璧な一手を選びます。

学べること ミニマックスゲーム木
Recursionai
まだ解答がありません
中級

重み付きグリッド上の A* 探索

ゲームやロボットの経路探索を支える A* で、地形コストのグリッドを横切る最安の経路を求めます。

学べること A* 探索ヒューリスティック
GraphsGridsShortest-pathai
まだ解答がありません
中級

温度と Top-K によるサンプリング

言語モデルと同じように、上位 k 個のロジットを残し、温度を適用してから次のトークンをサンプリングします。

学べること テキスト生成サンプリング
ai機械学習
まだ解答がありません
難しい

マルチヘッド・セルフアテンション

入力をクエリ、キー、値に射影し、複数のヘッドで並列にアテンションを計算して結合します。

学べること マルチヘッドアテンション行列による射影
ai機械学習
まだ解答がありません
中級

レイヤー正規化

各行を平均 0、分散 1 に正規化してからスケーリングとシフトを行います。すべての Transformer ブロックで使われます。

学べること レイヤー正規化Transformer
ニューラルネットワークai機械学習
まだ解答がありません

🐍 このPythonオンライン実行環境について

CodeUtility Python Executor は、ブラウザ上でPythonコードを記述・実行・テストできるツールです — セットアップやインストールは不要です。安全なサンドボックス上で動作し、 3.10 から 3.13 までの実際のPythonバージョンをサポートします。

初めてPythonを学ぶ場合でも、ちょっとしたスニペットを試すときでも、ロジックをデバッグするときでも、 このツールは高速で集中できるコーディング環境を提供します。 内蔵コンソールで自由に試し、結果をすぐに確認できます。

Pythonの練習や素早いプロトタイピングのために軽量なオンラインIDEが必要な、初心者、学生、開発者に最適です。

単なるコードランナーではありません

同じ実行環境で、複数ファイル対応エディター、分離された実行ターミナル、ランタイム別ライブラリ、永続ワークスペース、共有、リアルタイム共同作業を利用できます。

この実行環境の使い方

ランタイムを選択し、ファイルを開くか作成してコードを記述し、[実行]を選択します。出力はターミナルに表示されます。サインインしたユーザーは、ワークスペースにファイルを保存し、ライブラリをインストールして、共有を通じて共同作業できます。

  1. バージョンを選択して現在のファイルを編集するか、ワークスペース内の別のファイルを開きます。
  2. コードを実行し、求められた場合はターミナルに入力して、保存された実行履歴を確認します。
  3. 複数のコードスニペットが必要な作業では、ライブラリ、ワークスペースツール、共有、チャットを利用します。

💡 上のエディタで試せるPythonの基礎とサンプル

1. 変数と定数の宣言

Pythonは動的型付けなので、型を明示的に宣言する必要はありません。組み込みの定数キーワードはありませんが、慣例として定数はすべて大文字で書きます。

# 変数
x = 10
pi = 3.14
name = "Alice"
is_active = True

# 定数(慣例)
MAX_USERS = 100
APP_NAME = "CodeUtility"

# 定数も再代入は可能(強制されない)
MAX_USERS = 200  # ⚠️ 技術的には可能だが非推奨

2. 条件分岐

if、elif、else ブロックでロジックを制御します。Python 3.10以降では、match-case をswitch-caseの代替として使えます。

# 従来の if-elif-else
x = 2
if x == 1:
    print("一")
elif x == 2:
    print("二")
else:
    print("その他")

別案: match-case(Python 3.10+)

# Python 3.10+ が必要
x = 2
match x:
    case 1:
        print("一")
    case 2:
        print("二")
    case _:
        print("その他")

3. ループ

for はシーケンスの反復に使い、while は条件が真の間実行されます。

for i in range(3):
    print(i)

count = 3
while count > 0:
    print(count)
    count -= 1

4. リスト

リストは順序を持つ可変のコレクションです。インデックスで要素にアクセスできます。

fruits = ["りんご", "バナナ"]
print(fruits[0])
print(len(fruits))

5. リストの操作

リストの追加・削除・スライス・反転ができます。内包表記を使うと簡潔に反復処理を書けます。

fruits.append("さくらんぼ")
fruits.insert(1, "キウイ")
fruits.remove("バナナ")
fruits.pop()

print(fruits[1:3])
print(fruits[::-1])

squares = [x*x for x in range(5)]

6. コンソール入出力

input() でユーザーから読み取り、print() で出力を表示します。

\n(改行文字)を使うか、print() を複数回呼び出すことで複数行を表示できます。

# 入力を読む
name = input("あなたの名前を入力してください: ")
print("こんにちは", name)

# 複数行を出力
print("1行目\n2行目\n3行目")

# あるいは print を複数回使う
print("A行")
print("B行")
print("C行")

7. 関数

関数はコードを整理し、再利用を可能にします。引数や戻り値を使いましょう。

def greet(name):
    return "こんにちは " + name

print(greet("Alice"))

8. 辞書

キーと値のペアを保持します。キーは一意で、キーを使って値にアクセスします。

person = {"name": "Bob", "age": 25}
print(person["name"])
print(person.get("email", "未設定"))

9. 例外処理

try と except でエラーを捕捉し、適切に処理します。

try:
    x = 1 / 0
except ZeroDivisionError:
    print("0で割ることはできません")

10. ファイル入出力

open() を使ってファイルの読み書きを行います。

with open("data.txt", "w") as f:
    f.write("こんにちは、世界")

with open("data.txt", "r") as f:
    print(f.read())

11. 文字列操作

Pythonの文字列には、strip()、replace()、split() など強力なメソッドがあります。

text = "  Hello World  "
print(text.strip())
print(text.upper())
print(text.replace("Hello", "Hi"))
print(text.split())

12. クラスとオブジェクト

クラスで再利用可能な設計図を定義します。オブジェクトの初期化には __init__ を使います。

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return "こんにちは、私は " + self.name

p = Person("Alice")
print(p.greet())

🐞 Pythonコードをオンラインでデバッグする方法

オンラインPythonデバッガーなら、PythonやIDEをインストールせずにロジックエラーを調査できます。サーバーモードでPython 3.10〜3.13を使用します。

  1. ランタイムメニューからサーバー版Pythonを選択します。
  2. 行番号の横をクリックしてブレークポイントを設定します。
  3. Debugを選択し、最初に一致するブレークポイントまで実行します。
  4. 現在行と変数を確認し、Continue、Step Over、Step Into、Step Outを使います。
  5. 終了するときはStopを選択します。

再現可能な小さなコードから始め、値が想定外になる直前にブレークポイントを置きましょう。サーバーモードではworkspaceのファイルやインストール済みライブラリも使えます。