def calculator():
print("Welcome to the Python Calculator!")
print("Enter 'q' to quit.")
while True:
user_input = input("Enter an expression (e.g., 2 + 3): ")
if user_input.lower() == 'q':
print("Exiting the calculator.")
break
try:
result = eval(user_input)
print(f"Result: {result}")
except (ValueError, SyntaxError):
print("Invalid input. Please try again.")
if __name__ == "__main__":
calculator()
このプログラムの流れは以下のようになっています:
calculator()
関数を定義する- 歓迎メッセージを表示し、ユーザーに’q’を入力することで終了できることを伝える
- 無限ループを開始し、ユーザーの入力を待つ
- ユーザーの入力が’q’の場合、終了メッセージを表示して関数を抜ける
- ユーザーの入力を
eval()
関数を使って評価し、結果を表示する - 入力が無効な場合はエラーメッセージを表示する
if __name__ == "__main__":
ブロックでcalculator()
関数を呼び出す
プログラムを実行すると、ユーザーは式を入力できるようになります。たとえば、2 + 3
と入力するとResult: 5
と表示されます。ユーザーが’q’を入力すると、プログラムは終了します。
このプログラムは単純な電卓機能を提供しますが、さらに機能を追加することもできます。たとえば、演算子の種類を増やしたり、履歴の表示や保存などの機能を追加することができます。
result = eval(user_input)
は、「(user_input)に入力された計算式」を「計算後の結果の数字」にしてから、printしてくれます。
<索引つきコード>
def calculator():
print(“Welcome to the Python Calculator!”)
print(“Enter ‘q’ to quit.”)
while True:
user_input = input(“Enter an expression (e.g., 2 + 3): “)
if user_input.lower() == ‘q’:
print(“Exiting the calculator.”)
break
try:
result = eval(user_input)
print(f”Result: {result}”)
except (ValueError, SyntaxError):
print(“Invalid input. Please try again.”)
if __name__ == “__main__”:
calculator()