Python講座 / 変数・コメント・入力と出力で最初のプログラムを作る

Pythonの変数は値を参照し、input()は文字列を読み取り、print()は結果を表示します。金額を計算する前に入力文字列を数値へ変換し、表示するときに読みやすい書式を付けます。

代入とコメントを区別する

=は右辺の結果へ左辺の名前を対応させる代入であり、数学の等号による比較ではありません。同じ名前へ再代入すると、その後は新しい値を使います。目的の分かる名前を付け、print、input、listなどの組み込み名を別の値で上書きしないようにします。

amount = 3500
amount = amount + 500
print(amount)  # Display the calculated result

出力は4000です。#以降はコメントで、命令としては実行されません。コードをそのまま言い換えるだけでなく、単位、制約、判断の理由を書くと役立ちます。例の英語コメントは計算結果を表示する行の説明です。

入力値の数値変換と失敗処理は、整数・浮動小数点数・数値変換を理解するで扱う規則とつながります。

入力と出力の全体例を実行する

input_expense.pyへ次の全体コードをUTF-8で保存し、仮想環境のターミナルでpython input_expense.pyを実行します。name:にはlunch、amount:には8000を入力します。

name = input("name: ").strip()
amount_text = input("amount: ").strip()
amount = int(amount_text)
print(f"{name}: {amount:,} KRW")

入力した文字そのものを含めず、プログラムの標準出力だけを表すと次のようになります。

name: amount: lunch: 8,000 KRW

実際のターミナルは入力文字を表示することが多いため、改行や見た目がこの出力専用の例と一致しなくても、それだけでは異常ではありません。入力待ちでカーソルが止まることも通常の動作です。

文字列から整数への境界を追う

最初のinput()は支出名を受け取り、strip()で前後の空白を取り除きます。amount_textは、数字に見えても文字列のままです。int()が整数へ変換した後に、数値として扱えるようになります。

f文字列は波かっこの中の式を文字列へ組み込みます。金額の後ろのコンマ書式は3桁ごとの区切りを表示するためのもので、保存される整数自体にコンマが入るわけではありません。この例は原文と同じKRW単位の支出を扱い、日本円へ換算した値ではありません。

入力を一つずつ変えてエラーを確認する

8000を9000に変えると9,000 KRWと表示されます。8000.5では、int()は小数点を含む文字列を整数として解釈できずValueErrorになります。空の金額も試し、最後は8000へ戻して正常な表示を確認してください。

数字らしい入力を最初から数値だと思い込まず、どの行で変換するかを特定します。誤入力を受け止めて再入力を求めるには、意図した検証と繰り返しが必要です。例外処理で、無関係な失敗まで隠さずに扱う方法を学べます。

ターミナルには入力プロンプトの後に自分で入力した文字も表示されます。20 を入力した直後の値は文字列 "20" であり、int で変換して初めて整数20になります。入力文字を省いた出力例はターミナル全体の記録ではありません。空文字列や abc は整数に変換できないため、再入力の方針も必要です。

関連する公式リファレンス