Unit 7. 출력 방법 알아보기
7.1 값을 여러개 출력하기
print() 함수는 변수나 값 여러개를 콤마(,) 로 구분하여 넣을 수 있다.
print에 값을 콤마로 구분하여 넣으면 공백으로 구분되어 한 줄로 출력된다.
7.1.1 sep로 값 사이에 문자 넣기
sep는 구분자 라는 뜻의 separator에서 따온 것이다. 다음과 같이 print의 sep에 문자 또는 문자열을 지정해 주면 된다.
7.2 줄바꿈 활용하기
print 한번으로 값을 여러줄에 출력하는 것도 가능하다. sep에 개행문자인 \n을 넣으면 된다.
값들 사이에 줄바꿈을 의미하는 \n이 들어가서 여러줄로 출력된 것이다. \n은 제어문자이기 때문에 화면에 출력되지는 않는다. \n도 문자이기 때문에 다음과 같이 print에 바로 넣어서 사용할 수 도 있다.
다른 제어문자는 한번 탭누른것 만큼 간격을 주는 \t가 있고, \문자 자체를 출력하려면 \\처럼 \을 두 번 써야 한다.
7.2.1 end 사용하기
print는 기본적으로 출력하는 값 뒤에 \n을 붙여 print를 여러번 사용하게 되면 자동으로 줄바꿈이 된다. print의 end에 기본적으로 \n이 지정된 형태이기 때문에 그런것인데 다음과 같이 end에 문자 또는 문자열을 지정하면 출력하는 값 끝에 나올 문자열을 지정해 줄 수 있다.
print(1, end='') # 빈 문자열
print(2)
print('========================')
print(1920, end='x') # 문자 x
print(1080)
7.3 퀴즈
정답은 d 이다.
정답은 c 이다.
정답은 b,d,e이다.
7.4 연습문제 : 날짜와 시간 출력하기
정답은 다음과 같다.
1. sep='/', end=' '
2. sep=':'
출력 결과가 한줄이고, 두 print사이에 공백이 있으므로 첫번째 print에는 end에 공백 한 칸이 들어가야 한다.
7.5 심사문제 : 날짜와 시간 출력하기
정답은 다음 코드와 같다.
print(year, month, day, sep='-', end='T')
Unit 8. 불과 비교, 논리 연산자 알아보기
8.1 불과 비교 연산자 사용하기
8.1.1 비교 연산자의 판단 결과
불(boolean)은 True, False로 표현하며 자료형의 일종이다.
파이썬에서는 비교 연산자의 판단 결과로 True, False를 사용한다. 비교 결과가 맞으면 True, 틀리면 False이다.
8.1.2 숫자가 같은지 다른지 비교하기
두 숫자가 같은지 비교할때는 ==(equal), 다른지 비교할 때는 !=(not equal)을 사용한다.
8.1.3 문자열이 같은지 다른지 비교하기
숫자와 동일하게 문자열도 ==, !=로 비교 가능하다. 문자열은 대소문자를 구분하여 같은 단어라도 대소문자가 다르면 다르다고 판단한다.
8.1.4 부등호 사용하기
부등호는 수학의 부등호와 동일하다. <(미만), >(초과), <=(이하), >=(이상)이다.
비교 기준은 항상 첫번째 값이다. 첫번째 값보다 큰지, 작은지, 같은지, 다른지를 비교한다.
8.1.5 객체가 같은지 다른지 비교하기
객체가 같은지, 다른지 비교하는 것은 is와 is not 이다. ==과 !=는 값 자체를 비교하는 것이고, is와 is not는 객체를 비교하는 것에서 차이점이 있다.
1과 1.0은 값은 같지만 객체는 정수와 실수로 다르기 때문에 ==에서는 True가 나왔고, is 에서는 false가 나왔다. 또한 다음을 보면 is와 is not는 객체 뿐 아니라 값도 함께 일치해야 참을 반환한다는 것도 알 수 있다.
정수 객체와 실수 객체가 다른것은 id 함수를 사용하여 알 수 있다. id 함수는 객체의 고유한 값(메모리 주소)를 반환한다.
값 비교에는 is 를 사용하면 안된다. 아래와 같이 값이 한번 할당 됬던 상태에서 다른 값을 할당하면 메모리 주소가 달라질 수 있기 때문이다.
8.2 논리 연산자 사용하기
논리 연산자에는 and, or, not가 있다.
and 연산자는 비교하는 두 값이 모두 True 여야 True 이다. 하나라도 False가 있으면 False가 나온다.
or 연산자는 두 값중 하나라도 True 이면 True 이다.
not 연산자는 논리값을 뒤집는다.
위와 같이 여러개의 논리 연산자가 사용됬을 경우 연산 우선 순위는 not, and, or순서이다. 따라서 위 코드는 False and Fase or True 가 되고, False or True 가 되서 결과적으로 True가 나온다. 괄호로 묶어서 보면 다음과 같다.
8.2.1 논리연산자와 비교연산자를 함께 사용하기
연산 우선순위는 비교연산자가 논리연산자보다 높아서 비교 연산을 먼저 판단하고, 논리연산을 판단한다.
숫자에서 0은 False 이고, 0이 아닌값은 True이다. 문자열은 내용에 관계 없이 True 이다. 정수, 실수, 문자열 등을 불로 변환하려면 bool함수를 사용해야한다.
8.2.2 단락평가
단락 평가는 첫 번째 값만으로 결과가 확실할 때 두 번째 값은 확인 하지않는 방법이다. 아래와 같은 경우 and 연산이기 때문에 두번째 값은 확인하지 않고 바로 False로 판단할 수 있다.
위와 같은 경우 파이썬에서 논리 연산자는 마지막으로 단락 평가를 실시한 값을 그대로 반환하기 때문이다. or 연산도 마찬가지로 마지막 단락 평가한 값이 반환된다.
8.3 퀴즈
정답은 c 이다.
정답은 d 이다.
정답은 b,c이다.
정답은 d 이다.
8.4 연습문제 : 합격 여부 출력하기
정답은 아래 코드와 같다.
korean >= 50 and english >= 50 and mathematics >= 50 and science >= 50
and 연산의 경우 연산하는 모든 값이 True여야 True를 반환하기 때문에 한 과목이라도 50점 미만인 과목이 있으면 False를 반환한다.
8 .5 심사문제 : 합격 여부 출력하기
정답은 아래 코드와 같다.
kor, eng, math, sci = map(int, input().split())
print(kor >= 90 and eng > 80 and math > 85 and sci >= 80)
변수가 여러개 필요하기 때문에 map()과 split()으로 여러 변수에 값을 저장한 후 한 과목이라도 조건에 만족하지 않으면 False가 출력되야 하므로 and 논리 연산을 이용하였다.
Unit 9. 문자열 사용하기
문자열은 영문 뿐 아니라 한글또한 가능하다. 또한 문자열을 만드는 법은 작은따옴표(' ') 이외에도 큰따옴표(" "), 작은따옴표 세 개로 묶는것(''' '''), 큰따옴표 3개로 묶는것(""" """)이 있다.
9.1.1 여러 줄로 된 문자열 출력하기
다음과 같이 작은따옴표 세 개(''' ''') 또는 큰 따옴표 세 개(""" """)를 사용하면 여러줄 문자열을 출력하거나 변수에 저장할 수 있다.
위와 같이 여러줄의 문자열을 변수에 저장할 수 있고, 콘솔에서 확인하면 개행문자(\n)가 있고, print()함수를 사용하면 여러 줄로 출력 됨을 확인할 수 있다.
여러줄의 문자열을 출력할 때는 개행문자(\n)을 사용할 수도 있다.
9.1.2 문자열 안에 작은 따옴표나 큰 따옴표 포함하기
문자열을 사용하다 보면 작은 따옴표나 큰 따옴표를 사용해야 할 경우가 있다. 문자열 안에 작은 따옴표를 넣고 싶으면 큰 따옴표를 사용해 문자열을 만들고, 큰 따옴표를 넣고 싶다면 작은 따옴표를 사용해 문자열을 만들면 된다.
또한 따옴표 3개를 감싸서 문자열을 만들면 작은따옴표와 큰따옴표 모두 사용 가능하다.
작은따옴표로 만든 문자열에 작은따옴표를 넣거나 큰따옴표로 만든 문자열에 큰따옴표를 넣으려면 역슬래쉬(\)를 사용하면 된다.
9.2 퀴즈
정답은 b,d이다.
정답은 a, c이다.
정답은 a,c,d이다.
9.3 연습문제: 여러줄로 된 문자열 사용하기
'Python is a programming language that lets you work quickly \nand \nintegrate systems more effectively.'
코딩도장 예시 답안도 가능하고 위와 같은 답안도 가능하다. 문자열에 개행문자를 넣은 것이다.
9.4 심사문제: 여러줄로 된 문자열 사용하기
정답은 다음 코드와 같다.
s = ''''Python' is a "programming language"
that lets you work quickly
and
integrate systems more effectively.'''
또한 개행문자와 \를 사용하여 한 줄로 표현하는 것도 가능하다.
Unit 10. 리스트와 튜플 사용하기
리스트는 목록 이라는 뜻이며 값을 일렬로 늘여놓은 형태이다.
10.1 리스트 만들기
변수에 값을 저장할 때 [ ](대괄호)로 묶어주면 리스트가 되며, 각 값은 콤마(,)로 구분한다.
리스트에 저장된 각 값들은 요소(element)라고 부른다.
10.1.1 리스트에 여러가지 자료형 저장하기
리스트는 문자열, 정수, 실수, 불등 여러가지 자료형을 한 번에 저장할 수 있다.
10.1.2 빈 리스트 만들기
빈 리스트를 만들때는 []만 지정하거나, list()를 이용하여 만들 수 있다.
보통 빈 리스트는 만들어두고 새 값을 추가하는데 쓰인다.
10.1.3 range를 사용하여 리스트 만들기
range()는 연속된 숫자를 생성한다. 10을 지정하면 0에서 9까지 생성된다.
시작하는 숫자와 끝나는 숫자도 지정할 수 있다. range(5,10)과 같이 지정하면 5부터 9까지 생성된다. 끝 숫자는 포함하지 않는다.
증가폭도 지정할 수 있다. range(10,20,2)와 같이 지정하면 10에서 19까지 2씩 증가하게 된다. 증가폭에 음수를 지정하면 지정한 수만큼 값이 감소한다. range를 사용하여 리스트를 만드는 방법은 다음과 같다.
10.2 튜플 사용하기
튜플은 리스트처럼 요소를 일렬로 저장하지만, 저장된 요소를 변경, 추가, 삭제가 불가능하다.
변수에 값을 저장할 때 ( )괄호로 묶으면 튜플이 되며 각 요소들은 ,(콤마)로 구분한다. 괄호로 묶지 않고 콤마로 구분만 해도 튜플이 된다.
리스트처럼 여러 자료형을 섞어서도 저장이 가능하다.
튜플은 요소가 절대 변경되지 않고, 유지되어야 할 때 사용한다. 튜플을 만든 상태에서 요소를 변경하려 하면 에러가 발생한다.
10.2.1 요소가 한 개 들어있는 튜플 만들기
값 한개를 괄호로 묶으면 튜플이 아니라 그냥 값이 된다. 요소가 한개인 튜플을 만드려면 값을 괄호로 묶고 콤마를 붙이거나 괄호없이 콤마만 붙여도 된다.
10.2.2 range를 활용하여 튜플 만들기
리스트와 동일하게 tuple() 안에 range()를 넣으면 된다.
10.2.3 튜플을 리스트로 만들고, 리스트를 튜플로 만들기
tuple() 안에 리스트를 넣거나 list() 안에 튜플을 넣으면 새로운 튜플이나 리스트를 만들 수 있다.
문자열을 리스트나 튜플에 넣으면 문자 하나 하나가 리스트나 튜플의 요소로 들어가게 된다.
리스트와 튜플을 사용하여 다음과 같이 변수 여러개를 한 번에 만들 수 있다.
리스트 변수와 튜플 변수를 사용하여 변수 여러개를 만들 수 있다. 이와 같이 리스트와 튜플의 요소를 변수 여러개에 할당하는 것을 리스트 언패킹, 튜플 언패킹 이라고 한다.
리스트 패킹 또는 튜플 패킹은 변수에 리스트나 튜플을 할당하는 것을 의미한다.
10.3 퀴즈
답은 a,c,d이다.
답은 b,c,e이다.
답은 d이다.
10.4 연습문제: range로 리스트 만들기
답은 다음 코드와 같다.
a = list(range(5,-10,-2))
10.4 range로 튜플 만들기
답은 다음 코드와 같다.
inp = int(input())
tu = tuple(range(-10, 10, inp))
print(tu)
'Project H4C Study Group' 카테고리의 다른 글
[Project H4C] 파이썬 코딩도장(6) (0) | 2021.01.25 |
---|---|
[Project H4C] 파이썬 코딩도장(5) (0) | 2021.01.23 |
[Project H4C] 파이썬 코딩도장(4) (0) | 2021.01.21 |
[Project H4C] 파이썬 코딩도장(3) (0) | 2021.01.20 |
[Project H4C] 파이썬 코딩도장(1) (0) | 2021.01.18 |