본문 바로가기
프로그래밍 언어/Python

[Python 스터디] input을 이용해 값을 입력 받아 리스트에 넣기

by HelloWoori 2022. 9. 22.
반응형

input

사용자가 입력한 값을 읽어들이는 함수

list1 = []
s = input('입력하세요: ')
list1.append(s)
print(list1)
입력하세요: A
['A']

 

원하는 자료형 받기

만약에 문자열이 아닌 다른 자료형을 입력 받게 하고 싶다면 input 앞에 원하는 자료형을 적기

list1 = []
s = int(input('입력하세요: '))
list1.append(s)
print(list1)
입력하세요: 3
[3]

 

띄어쓰기로 구분된 여러 개 문자 입력값 받기

s = list(input().split())
print(s)
가 나 다 라 마
['가', '나', '다', '라', '마']

 

띄어쓰기로 구분된 여러 개 숫자 입력값 받기

number = list(map(int, input().split()))
print(number)
1 2 3 4 56
[1, 2, 3, 4, 56]

 

엔터로 구분된 여러 개의 문자 혹은 단어 받기

n = 5
list1 = []
for i in range(n):
  list1.append(input())
print(list1)
딸기
사과
귤
바나나
체리
['딸기', '사과', '귤', '바나나', '체리']

 

엔터로 구분된 여러 개의 숫자 받기

n = 5
list1 = []
for i in range(n):
  list1.append(int(input()))
print(list1)
1
9
50
36
22
[1, 9, 50, 36, 22]

 

sys.stdin.readline

input() 대신 sys.stdin.readline 을 사용하는 이유?

- 반복문으로 여러 줄을 입력 받아야할 때 input을 사용하면 시간 초과가 발생할 수 있음

- 이럴 때 sys.stdin.readline 사용하기!

 

한 개의 정수를 입력 받을 때

import sys
a = int(sys.stdin.readline())

 

정해진 개수의 정수를 한 줄에 입력 받을 때

import sys
a, b, c = map(int, sys.stdin.readline().split())

 

임의 개수의 정수를 한 줄에 입력 받아 리스트에 저장할 때

import sys
data = list(map(int, sys.stdin.readline().split()))

 

임의 개수의 정수를 n줄 입력받아 2차원 리스트에 저장할 때

import sys
data = []
n = int(sys.stdin.readline())
for i in range(n):
  data.append(list(map(int, sys.stdin.readline().split())))

 

문자열 n줄을 입력받아 리스트에 저장할 때

import sys
n = int(sys.stdin.readline())
data = [sys.stdin.readline().strip() for i in range n]

 

 

반응형

댓글0