s_y_130
About SY
s_y_130
전체 방문자
오늘
어제
  • 분류 전체보기
    • JAVA
      • 더 자바 8
      • JAVA
      • JAVA (JVM)
    • Computer Science
      • CS Basic
      • OOP
      • Design Pattern
      • Network
      • HTTP
      • WEB
      • OS
    • DataBase
      • DB theory
      • MySQL
      • Redis
    • Collection Framework
      • 구현
    • Data Structure
      • Linear
      • Non-Linear
    • Algorithm
      • Basic
      • 응용
      • 완전 탐색(Brute Force)
      • 다익스트라
      • Algorithm Problem
    • Spring
      • 스프링 핵심 원리 - 기본편
      • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
      • 스프링 MVC 2편 - 백엔드 웹 개발 핵심 기술
      • 스프링 DB 1편 - 데이터 접근 핵심 원리
      • 스프링 DB 2편 - 데이터 접근 활용 기술
      • 스프링 핵심 원리 - 고급편
      • 스프링 부트 - 핵심 원리와 활용
      • 재고시스템으로 알아보는 동시성이슈 해결방법
      • 개념
      • 테스트
      • Annotation
      • Error Log
    • TEST
      • 부하 테스트
      • Practical Testing: 실용적인 테스트..
    • JPA
      • 자바 ORM 표준 JPA 프로그래밍
      • 1편- 실전! 스프링 부트와 JPA 활용
      • 2편- 실전! 스프링 부트와 JPA 활용
      • 실전! 스프링 데이터 JPA
      • 실전! Querydsl
      • 개념
    • Open Source
    • Book Study
      • Morden Java in Action
      • Real MySQL 8.0 Vol.1
      • TDD : By Example
    • AWS
      • EC2
    • git
    • AI
      • Machine Learning
      • Deep Learning
      • TensorFlow
      • PyTorch
      • YOLO
      • Data Analysis
      • Ai code Error
      • Numpy
    • MY
    • WEB
      • Django
      • WEB 개념
      • React
      • Maven
    • Python
    • 기초수학

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
s_y_130

About SY

Python

[Python] 입력받기

2021. 7. 9. 14:26

1. input()

한줄씩 통째로 입력받는 방벙으로 input()은 입력되는 모든 것을 문자열로 입력받는다.

 

In [1]:
a = input()
print(type(a))
10
<class 'str'>

 

10 20 30을 입력하면 '10 20 30' 으로 문자열 형태로 변수 a에 저장된다.

 

In [2]:
a = int(input())
10
 
In [3]:
a = int(input())
10 20 30 
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-3-91869f0d3d8c> in <module>
----> 1 a = int(input())

ValueError: invalid literal for int() with base 10: '10 20 30 '

int()로 input()을 감싸주면 문자열을 정수로 변환하여 a에 저장할 수 있다.

그러나 10만을 입력한 경우는 변환이 가능하지만 10 20 30을 입력하면 정수로 변환이 불가능하여 에러가 발생한다.

 

 

2. split()

이러한 경우엔 split() 함수를 사용하여 공백 문자를 기준으로 나누고 나눈 값들을 리스트에 담아주면 된다.

 

In [6]:
a = input().split()
print(type(a))
['10', '20', '30']
<class 'list'>

10 20 30을 입력하였을 때 각각의 값이 리스트에 문자열로 입력이 되었다.

 

 

3. map

 

map은 리스트의 요소를 지정된 함수로 처리해주는 함수이다.

 

  • list(map(함수, 리스크))
  • tuple(map(함수, 튜플))

예를 들어 실수가 저장된 리스트가 있을 때 이 리스트의 모든 요소를 정수로 변환하려면 어떻게 해야 할까? 먼저 for 반복문을 사용해서 변환해보겠다.

>>> a = [1.2, 2.5, 3.7, 4.6]
>>> for i in range(len(a)):
...      a[i] = int(a[i])
...
>>> a
[1, 2, 3, 4]
cs

 

for에 range(len(a))를 사용해서 인덱스를 가져왔다. 그리고 가져온 인덱스로 요소 하나 하나에 접근한 뒤 int로 변환하여 다시 저장했다.

매번 for 반복문으로 반복하면서 요소를 변환하려니 번거롭다. 이때는 map을 사용하면 편리하다.

 

>>> a = list(map(int, input().split()))
>>> 1 2 3 4 (입력)
...
>>> a
[1, 2, 3, 4]
cs

 

또한 입력한 값을 각자 다른 변수에 저장하고 싶다면

 

>>> a, b, c, d = list(map(int, input().split()))
>>> 1 2 3 4 (입력)
...
>>> print(a, b, c, d)
1 2 3 4
 
cs

 

    'Python' 카테고리의 다른 글
    • Decorator @의 의미
    • [Python] with 문
    • if __name__ == '__main__': 사용하는 이유
    • Thread를 사용하는 이유와 발생할 수 있는 문제들
    s_y_130
    s_y_130

    티스토리툴바