본문 바로가기

Algorithm/개념

[2주만에 통과하는 알고리즘] 파이썬 입력과 출력 / 반복문과 조건문

728x90

1. 입력과 출력

#입력
#input() = 사용자한테 입력 받은것을 출력함 

#case1 : 단순 정수 
number = int(input())  

#case2 : 단순 문자
#input default type = 문자열 타입
string = input()


#출력
print(number + number) #24
print(string + string) #1212

 

파이썬에서 input은 기본적으로 string으로 받아오기 때문에 input()만 사용하면 string type이 된다.

만일 정수를 받아오고 싶다면 input을 int로 감싸줘야 한다. > int(input())

 

숫자와 숫자를 더하면 두 값을 합한 값이 출력되지만, 문자열을 더하면 두 값을 나열한 형태로 출력된다.

 

 

1) map, split

#map
map(function, iterable)

#function : 각 요소에 적용할 함수
#iterable : 함수를 적용할 데이터 집합


#split
문자.split('구분자')
#괄호 안의 것을 구분자로 하여 문자를 잘라줌
#구분자가 없을 경우, 띄어쓰기를 기준으로 자름 


#수열
First, Second, Third = map(int, input().split())
print(First, Second, Third)

#1 2 3을 입력받으면 split이 각각의 숫자로 쪼개줌
#int로 type을 지정
#First = 1, Second = 2, Third = 3이 됨 

#문자열
First, Second, Third = map(str, input().split())
print(First, Second, Third)

 

수열이나 문자열을 출력하고 싶다면, map과 split을 사용하면 된다.

 

 

2) list

#배열
list1 = list(map(int,input().split()))
print(list1) #1 2 3 > [1 2 3]
print(*list1) #1 2 3 > 1 2 3


list2 = list(map(str, input().split()))
print(list2)
#A b C > [A, B, C]
print(*list1) #A b C > A b C

 

 

리스트의 경우 [1, 2, 3] 이런식으로 출력된다.

이때 앞에 *을 붙이면 1, 2, 3 이런식으로 안에 있는 데이터만 출력할 수 있다. 

 

 

 

2. 반복문과 조건문

1) for

#range : 일정 범위의 연속된 정수 생성, range 객체 반환 > 반복문이나 list 함수를 통해 리스트로 변환 가능

#for
for _ in range(100):
  print('1')
#1이 100번 출력됨

for number in range(100):
  print(number)
#0부터 100개의 숫자가 출력됨

for number2 in range(95, 100):
  print(number2)
#95부터 99까지 출력됨

 

_ 안에 변수를 넣어주고, in 옆에 튜플 또는 문자열을 넣어준다.

그럼 튜플 또는 문자열의 첫 번째 요소부터 마지막 요소까지 차례로 변수에 대입되어 아래 코드가 수행된다.

 

 

 

2) while

number=0

#while
#number가 10보다 작으면 반복
while number < 10 :
  print(number)
  number = number + 1
#0부터 9까지 출력됨

 

while문은 옆에 조건을 적으면, 해당 조건이 true일때까지 아래 코드를 반복한다.

 

 

 

3) if

#조건문
name = "코코"
if(name == "코코"):
  print("true")
else: 
  print("false")

 

if문은 해당 값이 일치하는지 판단한다.

만일 name의 값이 '코코'라면, true를 출력하고 그렇지 않다면 false를 출력한다. 

728x90