長期投資シミュレーションツール『Tousimu』をリリースしました!

【Python】paiza(パイザ)で必須の標準入出力の方法を解説!

プログラミング
スポンサーリンク

この記事では

プログラミング学習サービス「paiza(パイザ)」で必要となる

標準入出力」の方法をご紹介します!

プログラミング言語はpythonを使ってご説明します。

pythonについては、こちらで詳しく紹介しているので

ぜひご参考ください!

また「paizaって何?」という方は

こちらで詳しく紹介しているので。ぜひご参考ください!

具体的な問題の解き方については

レベルアップ問題集の回答と解説を紹介しているので

ぜひご参考ください!

スポンサーリンク

【分からない方必見!】そもそも標準入力・出力とは何か?

まずは「標準入出力とは何か」についてご説明します。

処理で使う数値や文字列を受け取る操作が「入力」

まずは「入力」についてです。

入力とは「処理で使う数値や文字列を受け取る操作」です!

どうゆうこと??

例として以下のような「税込金額を計算する」プログラムを考えます。

税込金額を計算するプログラム
  1. 元々の金額(税別価格)を入力する ←ここが入力
  2. (元々の金額)×(消費税率)を計算する
  3. 結果を表示する

この場合、元々の金額をユーザーに入力してもらう必要があります。

しかしいきなりキーボードで数字を打ち込んでも

プログラムはそれが「元々の金額」と理解してくれません。

プログラムからしたら

「いきなり謎の数字を言われても意味がわからない」ってことか!

そのため予めプログラムに

「元々の金額はユーザーが入力した値を受け取って使用する」と

教える必要があり、その操作が「入力」です。

処理後の結果を表示する操作が「出力」

次は「出力」についてです。

入力は「処理後の結果を画面に表示する操作」です!

先程考えた「税込み金額を計算する」プログラムだと

税込金額を計算するプログラム
  1. 元々の金額(税別価格)を入力する 
  2. (元々の金額)×(消費税率)を計算する
  3. 結果を表示する ←ここが出力

「結果を表示する」が出力です。

計算したら結果を表示するのは当たり前じゃん・・・

「いちいちそこまで教えないといけないの?」と思うかも知れませんが

プログラムは教えられたことを100%正確に実行するため

逆に言えば「教えられていないことは何もしない」ということです。

つまり「計算をする」と教えると本当に計算しかしません。

そのため結果が知りたい場合は「結果を表示する」と教える必要があり

その操作が「出力」です!

どうやって標準入出力を行えばいいか

では「どうやって標準入出力を行えばいいか」についてです。

標準入出力の方法は扱う言語によって異なります。

この後詳しく説明しますがPythonの場合

  • 入力はinput関数
  • 出力はprint関数

を使います。

他の言語に関しては

こちらで標準入出力のサンプルコードが確認できるためご参考ください!

スポンサーリンク

Python3の「入力」の方法

では「Pythonの入力の方法」について詳しくご説明します!

キーボードからの入力を受け取るにはinput関数を使う!

pythonでは「input関数」を使って入力を行います。

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関数の使い方

print((変数など))

と書くだけで、指定した変数などが出力されます!

また変数がint型float型でもそのまま出力できます!

# 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関数の使い方

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のスキルチェックのランクが上がらない」という方は

こちらで攻略法を詳しく紹介しているので、ぜひご参考ください!

またレベルアップ問題集の解答と解説も紹介しているので

ぜひご参考ください!

タイトルとURLをコピーしました