目次
はじめに
前回の記事では、算術演算子、比較演算子、論理演算子について学びました。前回の授業の振り返りが必要な方は、以下の記事をご覧ください!
今回は、print()の詳細の内容、条件分岐、input()について学んでみましょう!
print()関数
print()関数は複数の引数を受け取ることができます。これらの引数は、関数の出力方法や出力内容を制御します。Pythonのドキュメントによると、print()関数の詳細は以下の通りです。
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
詳細は、公式ドキュメントを参照してください!
ここでは、print()関数に渡すことができる各引数について詳しく説明します。
*objects
print()関数が受け取るメインの引数で、表示するオブジェクト(文字列、数値、リストなど)を指定します。複数のオブジェクトを渡すことができ、それぞれがスペースで区切られて表示されます。
print("Hello", "World", 123)
# 出力: Hello World 123
sep
複数のオブジェクトを表示する際に、それらの間に挿入される文字列を指定します。デフォルトはスペースですが、任意の文字列に変更できます。デフォルトは’ ‘です。
print("apple", "banana", "cherry", sep=", ")
# 出力: apple, banana, cherry
end
出力の最後に追加される文字列を指定します。デフォルトは改行文字(\n)ですが、これを他の文字列に変更することができます。
print("Hello", end="")
print("World")
# 出力: HelloWorld
file
file引数では、write()を使わなければならない。なので、file引数が指定されていない時やNoneの時には、sys.stdout が使われます。
with open("output.txt", "w") as file:
print("Hello, World!", file=file)
# output.txt に "Hello, World!" と書き込まれる
flush
flush引数を使用すると、バッファリングされた出力を即座にフラッシュできます。デフォルトでは False ですが、 True に設定すると即座にフラッシュされます。
import time
print("Processing", end="", flush=True)
for i in range(3):
print(".", end="", flush=True)
time.sleep(1)
# 出力: Processing...
条件分岐とは
if文は、プログラミングにおいて条件が真(True)の場合に特定のコードブロックを実行するための重要な構造です。Pythonでは、条件分岐を用いることで、プログラムの流れを動的に制御できます。ここでは、if文の基本的な使い方を学んでいきましょう。
if文
if文は、条件が真(True)である場合に特定のコードブロックを実行します。以下はif文の基本的な構文です。
if 条件:
実行するコード
上記の構文では、条件が真である場合に「実行するコード」が実行されます。
例:成人判定プログラム
以下のプログラムでは、変数ageが18以上の場合に「あなたは成人です。」というメッセージを表示します。
age = 20
# 年齢が18以上であれば、「あなたは成人です。」と表示
if age >= 18:
print("あなたは成人です。")
この例では、ageが18以上なので、if文の条件が真となり、「あなたは成人です。」が表示されます。
else文
else文は、すべての前のifおよびelif条件が偽(False)の場合に実行されるコードブロックを定義するために使います。else文を使用することで、条件が満たされない場合のデフォルトの動作を指定することができます。以下はelse文の基本的な構文です。
if 条件1:
実行するコード1
else:
実行するコード2
上の構文では、条件1が偽(False)の場合に「実行するコード2」が実行されます。
例:数値が正の整数かどうかを判定するプログラム
以下のプログラムでは、ユーザーが入力した数値が正の整数かどうかを判定します。
number = -5
if number > 0:
print("入力された数は正の整数です。")
else:
print("入力された数は正の整数ではありません。")
上のプログラムの例では、入力された数が負であるため、「入力された数は正の整数ではありません。」が表示されます。
elif文
elif(else if)文は、前の条件が偽(False)であり、新しい条件が真(True)である場合にコードブロックを実行するために使われます。elif文を利用することで、複数の条件を順にチェックし、それに応じた処理を行うことができます。
if 条件1:
実行するコード1
elif 条件2:
実行するコード2
else:
すべての条件が偽の場合に実行するコード
この構文では、条件1
が偽であり、条件2
が真の場合に「実行するコード2」が実行されます。すべての条件が偽の場合は、else
ブロックが実行されます。
例:成績評価プログラム
次のプログラムは、変数scoreの値に応じて成績評価を行います。
score = 85
if score >= 90:
print("評価: A")
elif score >= 80:
print("評価: B")
elif score >= 70:
print("評価: C")
else:
print("評価: D")
# 出力:評価: B
この例では、scoreが85であるため、elif score >= 80の条件が真となり、「評価: B」が表示されます。
input()とは
Pythonのinput()は、ユーザーからの入力を受け取るための基本的な機能を提供します。また、ユーザーからの入力を文字列(str)として取得します。関数の呼び出し時にプロンプトメッセージを指定することもできます。
name = input("あなたの名前を入力してください: ")
print(f"こんにちは、{name}さん!")
もし、nameでPARKと入力すると、「こんにちは、PARKさん!」と表示されます。
数値入力の取り扱い
input()は常に文字列を返します。そのため、数値を入力として扱う場合は、適切なデータ型に変換する必要があります。通常、int()やfloat()を使用して文字列を数値に変換します。
age = input("あなたの年齢を入力してください: ")
age = int(age)
if age >= 18:
print("あなたは成人です。")
else:
print("あなたは未成年です。")
height = input("あなたの身長を入力してください (cm): ")
height = float(height)
print(f"あなたの身長は{height}cmです。")
エラーハンドリング
エラーハンドリングとは、プログラムがエラーが発生した時に、すぐに実行を終了することではなく、あらかじめ用意しておいた処理を行うことを意味します。
try:
age = int(input("あなたの年齢を入力してください: "))
except ValueError:
print("無効な入力です。数値を入力してください。")
else:
if age >= 18:
print("あなたは成人です。")
else:
print("あなたは未成年です。")
応用例
print("メニューを選択してください:")
print("1. こんにちは")
print("2. おはよう")
print("3. さようなら")
choice = input("選択肢を入力してください (1/2/3): ")
if choice == "1":
print("こんにちは!")
elif choice == "2":
print("おはようございます!")
elif choice == "3":
print("さようなら!")
else:
print("無効な選択肢です。")
まとめ
今回の記事でのまとめとしては、次のようになります。
print()の使い方
print()とは、複数の引数を取り、出力の方法を制御することができます。主な引数としては、、表示するオブジェクト、区切り文字(sep)、終了文字(end)、出力先(file)、バッファフラッシュ(flush)があります。
条件分岐
if文の構文
if 条件:
実行するコード
else文の構文
if 条件1:
実行するコード1
else:
実行するコード2
elif文の構文
if 条件1:
実行するコード1
elif 条件2:
実行するコード2
else:
すべての条件が偽の場合に実行するコード
input()
input()関数を使うと、ユーザーからの入力を取得できます。入力は常に文字列として返されるため、数値として扱う場合には適切な型変換が必要です。
age = input("あなたの年齢を入力してください: ")
age = int(age)
if age >= 18:
print("あなたは成人です。")
else:
print("あなたは未成年です。")