この記事では
プログラミング学習サービス「paiza(パイザ)」で必要となる
「標準入出力」の方法をご紹介します!
プログラミング言語はpythonを使ってご説明します。
pythonについては、こちらで詳しく紹介しているので
ぜひご参考ください!
また「paizaって何?」という方は
こちらで詳しく紹介しているので。ぜひご参考ください!
具体的な問題の解き方については
レベルアップ問題集の回答と解説を紹介しているので
ぜひご参考ください!
【分からない方必見!】そもそも標準入力・出力とは何か?
まずは「標準入出力とは何か」についてご説明します。
処理で使う数値や文字列を受け取る操作が「入力」
まずは「入力」についてです。
入力とは「処理で使う数値や文字列を受け取る操作」です!

どうゆうこと??
例として以下のような「税込金額を計算する」プログラムを考えます。
- 元々の金額(税別価格)を入力する ←ここが入力
- (元々の金額)×(消費税率)を計算する
- 結果を表示する
この場合、元々の金額をユーザーに入力してもらう必要があります。
しかしいきなりキーボードで数字を打ち込んでも
プログラムはそれが「元々の金額」と理解してくれません。

プログラムからしたら
「いきなり謎の数字を言われても意味がわからない」ってことか!
そのため予めプログラムに
「元々の金額はユーザーが入力した値を受け取って使用する」と
教える必要があり、その操作が「入力」です。
処理後の結果を表示する操作が「出力」
次は「出力」についてです。
入力は「処理後の結果を画面に表示する操作」です!
先程考えた「税込み金額を計算する」プログラムだと
- 元々の金額(税別価格)を入力する
- (元々の金額)×(消費税率)を計算する
- 結果を表示する ←ここが出力
「結果を表示する」が出力です。

計算したら結果を表示するのは当たり前じゃん・・・
「いちいちそこまで教えないといけないの?」と思うかも知れませんが
プログラムは教えられたことを100%正確に実行するため
逆に言えば「教えられていないことは何もしない」ということです。
つまり「計算をする」と教えると本当に計算しかしません。
そのため結果が知りたい場合は「結果を表示する」と教える必要があり
その操作が「出力」です!
どうやって標準入出力を行えばいいか
では「どうやって標準入出力を行えばいいか」についてです。
標準入出力の方法は扱う言語によって異なります。
この後詳しく説明しますがPythonの場合
- 入力はinput関数
- 出力はprint関数
を使います。
他の言語に関しては
こちらで標準入出力のサンプルコードが確認できるためご参考ください!
Python3の「入力」の方法

では「Pythonの入力の方法」について詳しくご説明します!
キーボードからの入力を受け取るにはinput関数を使う!
pythonでは「input関数」を使って入力を行います。
input関数の使い方は簡単です。
(変数)= input()
例えば先程の「税込み金額を計算する」プログラムのコードを書くと
以下のようになります!
# 元々の金額(税別価格)を受け取る
price = input()
# 税込み金額を計算
zeikomi = int(price) * 1.1
# 税込み金額を表示
print(zeikomi)
ただ入力された値は数値であっても、文字列のstr型として扱われます。
数値で扱いたい場合は上記のコードのようにint関数やfloat関数を使用しましょう!
変数の型と数値計算については、こちらをご参考ください!
複数行の「入力」にはリストが便利!
次は「複数行の入力を行う」場合についてです。
paizaでは複数行に渡って以下のように入力される場合があります。
apple # 1行目の入力
orange # 2行目の入力
lemon # 3行目の入力
melon # 4行目の入力
この場合は入力される行の数だけ変数を用意し
input関数を使うと、各変数に入力された値を代入できます!
# 以下のように入力
'''
apple
orange
lemon
melon
'''
# 各行の入力を受け取る
input_fruit1 = input()
input_fruit2 = input()
input_fruit3 = input()
input_fruit4 = input()
# 'apple'と出力
print(input_fruit1)
# 'lemon'と出力
print(input_fruit3)
またfor文を使ってリストの要素として代入することも出来ます!
# 以下のように入力
'''
apple
orange
lemon
melon
'''
# 入力を格納するリスト
fruit_list = []
# 各行の入力をリストに追加
for _ in range(4): # 4行分
fruit_list.append(input())
# ['apple','orange','lemon','melon']と出力
print(fruit_list)
リストとfor文についてはこちらをご参考ください!
半角スペースで区切られた「入力」ではsplit関数を使う!
次は「複数の入力をまとめて行う」場合についてです。
paizaでは2つ以上の入力が10 20
のように
半角スペースで区切られて1行で入力される場合があります。
この場合は、以下のようにsplit関数を使うと
2つの異なる変数に入力された値を代入できます!
# "10 20"と入力
a, b = input().split()
# 10と出力
print(a)
# 20と出力
print(b)
またリストの成分として代入することも可能です!
# "10 20"と入力
input_list = input().split()
# ['10','20']と出力
print(input_list)
「リストって何?」という方は、こちらで詳しく紹介しているので
ぜひご参考ください!
入力の回数が変化する時はfor文を使う!
最後に「入力の回数が変化する場合」についてです。
paizaでは1行目で入力された値で
2行目以降で入力の数が変化する場合があります。
例えば「2行目以降で入力される数値の個数が1行目で入力される」場合だと
以下のような入力になります。
3 # 入力の数を指定
apple # 2行目から4行目まで数値が入力
orange
lemon
この場合for文を使うと
1行目の任意の値に対して入力を受け取ることが出来ます!
# 1行目の入力を受け取りint型に変換
N = int(input())
# 2行目以降の入力を格納するリスト
input_list = []
# 2行目以降の入力を受け取りリストに追加
for _ in range(N):
input_list.append(input())

「1行目の数で指定された回数だけfor文を回す」ってことか!
for文についてはこちらをご参考ください!
さらに内包表記と呼ばれる記法を使うと
よりシンプルにかくことができます!
# 1行目の入力を受け取りint型に変換
N = int(input())
# 2行目以降の入力をリストに格納
input_list = [input() for _ in range(N)]
内包表記については、こちらをご参考ください!
Python3の「出力」の方法
次は「Pythonの出力の方法」について詳しくご説明します!
「出力」にはprint関数を使う!
pythonでは「print関数」を使って出力を行います。
print関数の使い方も簡単です。
print((変数など))
と書くだけで、指定した変数などが出力されます!
# aはint型
a = 10
# 10と出力
print(a)
int型やfloat型については、こちらをご参考ください!
複数の値をまとめて出力する場合
次に「複数の値をまとめて出力する」場合についてです。
例えば先程の「税込み金額を計算する」プログラムで
(元々の金額) (税込金額)
のように
2つの数値を半角スペース区切りで出力するとします。
# 100と入力
price = input()
# 税込み金額を計算
zeikomi = int(price) * 1.1
# 100 108 と表示したい
この場合、そのままprint(price zeikomi)
では出力されません。
print(price zeikomi)
# "SyntaxError: invalid syntax"とエラーが出る
複数の変数を並べて出力する場合は
カンマ,
を使って2つの変数を区切ることで、半角スペース区切りで出力できます。
# 100と入力
price = input()
# 税込み金額を計算
zeikomi = int(price) * 1.1
# '100 108'と表示
print(price, zeikomi)
また「100円の税込金額は108円」のように文字列と一緒に出力する場合は
str関数を使って全ての変数をstr型に変換して
文字列として結合させて出力する必要があります!
str((変数))
つまり、「100円の税込金額は110円」と出力する場合は
以下のようになります!
# 100と入力
price = input()
zeikomi = int(price) * 1.1
# "100円の税込金額は110円"と出力
print(str(price) + "円の税込金額は" + str(zeikomi) + "円")
変数の型や文字列の結合についてはこちらをご参考ください!
変数と文字列をまとめて出力できるformat関数の使い方
最後に「変数と文字列をまとめて出力できるformat関数の使い方」についてです。
先程変数と文字列ををまとめて表示するためには
str関数を使って全ての変数をstr型に変更し
文字列として結合させる必要があるとご説明しました。
しかしformat関数を使うと
以下のようにstr変数を使わずにまとめて出力できます。
# 100と入力する
price = input()
zeikomi = int(price) * 1.1
# "100円の税込金額は110円"と出力
print(str(price) + "円の税込金額は" + str(zeikomi) + "円")
# 同様に"100円の税込金額は110円"と出力
print("{}円の税込金額は{}円".format(price, zeikomi))
簡単に言うと
「変数を代入する部分を{}
で空けておくと
format関数が指定した変数を順番に代入してくれる」
といったイメージです。
また変数を指定する方法は他にもあります。
# 100と入力する
price = input()
zeikomi = int(price) * 1.1
''' 全て"100円の税込金額は110円"と出力 '''
# 文字列として結合
print(str(price) + "円の税込金額は" + str(zeikomi) + "円")
# 順番に代入
print("{}円の税込金額は{}円".format(price, zeikomi))
# インデックスで指定
print("{1}円の税込金額は{0}円".format(zeikomi, price))
# キーワードで指定
print("{k1}円の税込金額は{k2}円".format(k1=price, k2=zeikomi))
# リストの成分を指定
print("{0[0]}円の税込金額は{0[1]}円".format([price, zeikomi]))
format関数を使うか文字列にして結合させるかは
好きな方法を使って頂ければいいと思います!
まとめ
今回はPythonの標準入出力について
- 標準入出力とは何か?
- Pythonの入力の方法
- Pythonの出力の方法
という流れでご紹介しました。
標準入出力はpaizaのみではなく
プログラミングをやる上で不可欠な要素です。
paizaを通してしっかりと習得しましょう!
また「paizaのスキルチェックのランクが上がらない」という方は
こちらで攻略法を詳しく紹介しているので、ぜひご参考ください!
またレベルアップ問題集の解答と解説も紹介しているので
ぜひご参考ください!