2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

 paizaラーニングを活用して、pythonを学んでいます。
 スキルチェックにおいて、標準入力で時間がかかることがあるので、備忘録を兼ねて入力要領を整理しました。  

標準入力とは

 Pythonの組み込み関数input()を使用し、キーボードから入力を受け付けるものです。

 以下の表のとおり整理して記述します。

入力値 : 入力先 入力値が1行 入力値が複数行
数値:変数1つ
   変数複数
文字:変数1つ
   変数複数

数値入力

① 変数が1つの場合(入力値が1行)

 (例)入力値が(12)や(1.0)の場合

入力方法
n = int(input())
n = float(input()) #以下、floatは省略

 (例)入力値が(12 13 14)の場合

入力方法
n = list(map(int,input().split()))
#又は
n = [int(x) for x in input().split()]

# 結果
print(n)
# [12, 13, 14]

 (例)入力値(12,13,14)や入力値(12/13/14)の場合

入力方法
n = list(map(int,input().split(",")))
n = [int(x) for x in input().split("/")]

# 結果
print(n)
# [12, 13, 14]

小数の入力値に対しintで受け取ると「ValueError」になるので注意
split()の入力値が、”/” で区切られている場合は、split( )内を ”/” する。

② 変数が1つの場合(入力値が複数行)

 (例)入力値(12    
        13 
        14)の場合

入力方法
#入力値が3行の場合
n = [0]*3
for i in range(3):
    n = int(input())

#又は    

n = [int(input()) for _ in range(3)] 

 (例)入力値(12 22    
        13 23 
        14 24)の場合

入力方法
n = [0]*3
for i in range(3):
    n[i] = list(map(int,input().split()))

#又は    
n =[list(map(int,input().split())) for _ in range(3)]

#又は
n =[[int(x) for x in input().split()] for _ in range(3)]

#結果
print(n)
#[[12, 22], [13, 23], [14, 24]]

③ 変数が複数の場合(入力値が1行)

 (例)入力値が(12 13 14)の場合

入力方法
a, b, c = map(int,input().split())
a, b, c = [int(x) for x in input().split()]

④ 変数が複数の場合(入力値が複数行)

 (例)入力値(12 
        13 
        14)の場合

入力方法
a, b, c = (int(input()) for x in range(3))

 (例)入力値(12 22 32 
        13 23 33 
        14 24 34)の場合

入力方法
a, b, c = [0]*3, [0]*3, [0]*3
for i in range(3):
    a[i], b[i], c[i] = list(map(int,input().split()))

# 結果
print(a, b, c)
# [12, 13, 14] [22, 23, 24] [32, 33, 34]

a, b, c = [list(map(int,input().split())) for _ in range(3)]
a, b, c = [[int(x) for x in input().split()] for _ in range(3)]

# 結果
print(a, b, c)
# [12, 22, 32] [13, 23, 33] [14, 24, 34]

内包表記は、入力先の変数が1つでも複数でもほぼ同様の記述で済むため、覚えておくと便利です

文字列入力

⑤ 変数が1つの場合(入力値が1行)

 (例)入力値 (Qiita) の場合

入力方法
s = input()
# 結果
print(s)
# Qiita

s = list(input())
# 結果
print(s)
# ['Q', 'i', 'i', 't', 'a']

 (例)入力値 (Qiita Qiita Qiita)の場合

入力方法
s = input().split()

# 結果
print(s)
# ['Qiita', 'Qiita', 'Qiita']

s = [list(x) for x in input().split()]
# 結果
print(s)
[['Q', 'i', 'i', 't', 'a'], ['Q', 'i', 'i', 't', 'a'], ['Q', 'i', 'i', 't', 'a']]

⑥ 変数が1つの場合(入力値が複数行)

 (例)入力値(Qiita 
        Qiita 
        Qiita)の場合

入力方法
s = [""]*3
for i in range(3):
    s[i] = input()

# 又は

s = [input() for _ in range(3)] 

# 結果
print(s)
# ['Qiita', 'Qiita', 'Qiita']

名簿のような入力の場合(setを使用)
 (例)入力値(1 Mario
        2 Luigi
        3 Princess_Peach)の場合

入力方法
# keyを文字列で入力
roster = {(x, y) for x, y in [input().split() for _ in range(N)]}
print(roster)
# {('1','Mario'),('2','Luigi'),('3','Princess_Peach')}

# keyを数字で入力
roster = {(int(x), y) for x, y in [input().split() for _ in range(N)]}
print(roster)
# {(1,'Mario'),(2,'sLuigi'),(3,'Princess_Peach')}

辞書のキーとリストの箱を作る場合
 (例)(Mario
     Luigi
     Princess_Peach)の場合

入力方法

roster = {input(): [] for _ in range(3)}
print(roster)
# {'Mario': [], 'Luigi': [], Princess_Peach': []}

⑦ 変数が複数の場合(入力値が1行)

 (例)入力値 "Qiita Qiita Qiita"の場合

入力方法
s, t, u = map(str,input().split())

# 結果
print(s, t, u)
# Qiita Qiita Qiita

⑧ 変数が複数の場合(入力値が複数行)

 (例)入力値(Qiita 
        Qiita 
        Qiita)の場合

入力方法
s = input()
t = input()
u = input()

# 又は

s, t, u =(input() for _ in range(3))
結果
print(s, t, u)
# Qiita Qiita Qiita

組み込み関数 - input() — Python 3.12.4 ドキュメント

結びに

 誤記等がありましたらご指摘いただけると幸いです。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?