Pythonでは、標準入力からのデータ取得ができます。ここでは、Pythonでの標準入力の基本的な使い方から、活用方法までを徹底解説します。
Pythonでの標準入力の基本的な使い方
Pythonでの標準入力は、input()
関数を使います。この関数は、文字列を受け取ります。
name = input("名前を入力してください:") print("こんにちは、" + name + "さん!")
input()
関数で入力された文字列は、name
という変数に格納されます。そして、print()
関数を使って、name
の値を表示しています。
標準入力からのデータ取得方法
標準入力からのデータ取得方法は、input()
関数を使います。以下は、数字を入力して、その数字を2倍にして表示するプログラムです。
num = int(input("数字を入力してください:")) print("2倍すると、" + str(num * 2) + "です。")
このプログラムでは、input()
関数で入力された文字列をint()
関数で整数に変換しています。そして、その値を2倍にして、print()
関数で表示しています。
複数行の標準入力の読み込み方
複数行の標準入力の読み込み方は、sys.stdin
を使います。以下は、複数行の入力を受け取って、その合計を表示するプログラムです。
import sys sum = 0 for line in sys.stdin: sum += int(line.strip()) print("合計は、" + str(sum) + "です。")
このプログラムでは、sys.stdin
から読み込まれた複数の行を、for
ループで処理しています。そして、各行の値をint()
関数で整数に変換して、sum
に加算しています。最後に、print()
関数で合計を表示しています。
標準入力からの数値取得と型変換
標準入力からの数値取得と型変換は、input()
関数とint()
関数やfloat()
関数を組み合わせて行います。以下は、2つの数字を入力して、その和を表示するプログラムです。
num1 = int(input("1つ目の数字を入力してください:")) num2 = int(input("2つ目の数字を入力してください:")) print("2つの数字の和は、" + str(num1 + num2) + "です。")
このプログラムでは、input()
関数で入力された文字列をint()
関数で整数に変換しています。そして、その2つの値を加算して、print()
関数で表示しています。
標準入力を用いた問題解決の例示
標準入力を用いた問題解決の例として、以下の問題を解いてみましょう。
問題:あなたは、以下のような形式で標準入力からデータを受け取ります。
・1行目には、整数Nが与えられます。
・2行目には、N個の整数が半角スペース区切りで与えられます。
これらのデータを受け取って、N個の整数の平均値を求めてください。
N = int(input()) nums = list(map(int, input().split())) average = sum(nums) / N print("平均値は、" + str(average) + "です。")
このプログラムでは、input()
関数を使って、1行目には整数Nを、2行目にはN個の整数を受け取っています。そして、map()
関数を使って、2行目で受け取った値をすべて整数に変換して、list()
関数でリストに変換しています。最後に、sum()
関数でリストの値の合計を求めて、Nで割って平均値を求めています。
注意点とよくあるエラーとその対処法
標準入力には、以下のような注意点があります。
input()
関数で受け取った値は、すべて文字列として扱われます。input()
関数で受け取った値を、int()
関数やfloat()
関数で型変換しないと、数値として扱えません。sys.stdin
を使う場合は、標準入力が終了するまで待ち続けるため、標準入力が終了したことを示す条件が必要です。
よくあるエラーとその対処法は、以下の通りです。
ValueError: invalid literal for int() with base 10: 'a'
入力された文字列が数値ではない場合に発生します。
対処法:入力された文字列が数値かどうかを判定する必要があります。EOFError: EOF when reading a line
標準入力が終了したにもかかわらず、読み込みが続けられている場合に発生します。
対処法:sys.stdin
を使う場合は、標準入力が終了したことを示す条件が必要です。
まとめ
Pythonでの標準入力の基本的な使い方から、活用方法までを徹底解説しました。標準入力は、問題解決やプログラムの実行時に必要不可欠な機能です。ぜひ、活用して効率的なプログラミングを行ってみてください。