PS, 언어 공부/Python

[Python] 한번에 여러개의 값 입력하기, 특정 문자를 구분하여 입력하기

Emil :) 2019. 10. 24. 15:45
728x90
반응형

문제를 풀다보면 엔터로 입력값을 구분하는게 아닌 스페이스바(공백)로 답을 요구할때가 생각보다 많았다.
메모할겸 써본다.

1. split() 함수 사용하기

예제

#2개의 값을 입력해서 사이의 홀수를 찾는 프로그램
def Odd(a,b):
    if (a % 2) == 1:
        print(a, end=' ')
    if a == b:
        return
    else:
        a += 1
        Odd(a,b)

a, b = input().split()
a = int(a)
b = int(b)
Odd(a,b)

split()으로 변환된 값은 문자열로 변환되므로, 12,13행에서 각각 int로 변환해줘야 한다.

결과화면

2. map()함수 사용하기

매번 형변환 해주려니 귀찮다. 한줄로 줄여보자.

def Odd(a,b):
    if (a % 2) == 1:
        print(a, end=' ')
    if a == b:
        return
    else:
        a += 1
        Odd(a,b)

a, b = map(int, input().split())
Odd(a,b)

이렇게 map을 사용하면 간편하게 줄일수있다.

얘도 잘된다

3. 공백이 아닌 원하는 값을 기준으로 구분하기

공백말고 콤마(,)라던지 원하는문자를 기준으로 구분하는것도 가능하다.

def Odd(a,b):
    if (a % 2) == 1:
        print(a, end=' ')
    if a == b:
        return
    else:
        a += 1
        Odd(a,b)

a, b = map(int, input().split(','))
Odd(a,b)

이렇게

확실히 파이썬이 쉬운것같다.. 자바나 c에 비해서..

728x90
반응형