Level 02 |
01_문자열 포매팅을 사용하여 데이터 다루기 |
1_포매팅
'포매팅은 문자열의 한 지점 %s 을 지정하여 정보를 집어넣는 것입니다.' % 정보
예)
day_length = '10시간'
result = '오늘 서울 낮의 길이는 %s 입니다.' % day_length
포매팅 이라는 단어는 포맷 + ing 으로 이루어져 있습니다.
어려울 것 없어요, 그러니까 '포맷' 이라는 단어의 의미만 알면 어느정도 용도가 보인다는 말이지요.
흔히 컴퓨터를 '포맷한다' 라고 사용되는 이 단어는 '초기화', '양식', '서식' 의 의미를 갖고 있습니다.
컴퓨터를 포맷하고 윈도우를 다시 설치한다는 표현은 여기에서 '초기화' 의 의미로 사용된 것입니다.
지금 단원에서 이야기하는 포매팅은 '양식' 과 '서식' 의 의미를 갖고 있습니다.
포매팅은 문자열의 특정 위치를 %s 로 지정하여 정보를 집어넣는 것입니다.
여기서 정보라는 것은 숫자도 되고, 문자열도 됩니다.
포매팅을 하는 순서는 다음과 같습니다.
1. 문자열 안에 %s 로 정보가 들어갈 위치를 지정합니다.
- 여러 개의 정보를 넣고 싶다면, 한 곳 뿐 아니라 여러 지점에도 넣을 수 있어요.
2. 문자열이 끝난 지점의 뒤에 % 를 넣습니다.
3. % 뒤에 넣고자 하는 정보를 넣습니다.
- 여러 개의 정보를 넣고 싶다면, 소괄호 () 로 감싸서 여러 개를 묶어주세요.
예제 01
– 지난 시간에 배운 문자열 슬라이싱을 활용해 원하는 부분을 가져와,
새로운 문자열 안의 원하는 지점에 넣어볼게요.
today = '2020-02-02 20:11:40.326952'
date = today[0:10]
result = '오늘의 날짜는 %s 입니다.' % date
설명 01
SHAPE \* MERGEFORMAT
|
예제 02
– 지난 시간 sunrise 에서 얻은 하루 길이에 대한 정보도 보기 좋게 포매팅 해 봅시다.
하루하루 다른 정보가 들어오기 때문에, 여기 적혀있는 내용과 여러분이 가져올 정보는 조금 달라요.
예제 01 에서 다룬 date 와 하루 낮 길이 정보를 한꺼번에 문자열 안에 넣을 겁니다.
https://api.sunrise-sunset.org/json?lat=37&lng=126
위 사이트에 접속해서 나오는 정보를 json_value 변수에 문자열 형태로 넣어주세요.
정보에는 쌍따옴표( " ) 가 있기 때문에, 소따옴표( ' ) 또는 여러줄 문자열을 이용하여야 합니다.
import json
today = '2020-02-02 20:11:40.326952'
date = today[0:10]
json_value = '''정보를 여기에 넣어주세요'''
dictionary = json.loads(json_value)
day_length = dictionary['results']['day_length']
result = '%s 일 오늘 서울 낮의 길이는 %s 입니다.' % (date, day_length)
print(result)
설명 01
SHAPE \* MERGEFORMAT
|
Level 02 |
02_컴퓨터를 쓰는 이유는 단순 반복작업을 줄이기 위해서! |
1_코드 없이 알아보는 제어문과 반복문
설명 01
SHAPE \* MERGEFORMAT
매일 아침에 일어날 때마다 겪는 상황입니다.
|
아침에 잠에서 깬 당신의 하루는 이렇게 시작할 거에요.
1. 요일에 상관없이 아침에 일어나 시계를 확인한다.
2. 평소보다 일찍 일어났는가? yes or no
[Yes] - 더 잘 수 있음에 감사하며 잠이 든다.
[No] - 하루를 시작한다.
여기에서 2 번에 해당되는 부분이 우리가 다루게 될 '제어문' 입니다.
이러면 이렇게, 저러면 저렇게 상황에 따라 다른 결정을 내리게 되지요.
그리고 하루하루 반복해서 일어나는 일이기 때문에
1, 2 번을 묶어서 본 이 상황 자체가 우리가 다루게 될 '반복문' 입니다.
2_일단 읽어보기
설명 01
weekday = ['월요일', '화요일', '수요일', '목요일', '금요일', '토요일', '일요일']
alive = True
usual = 7
while alive:
for day in weekday:
now = 시간을 확인한다.
if now < usual:
잔다.
else:
일어난다.
while 은 ~ 인 동안 을 의미합니다.
for 는 weekday 리스트에서 하나씩 반복한다는 의미입니다.
if 는 만약에 를 의미하고, else 는 아니면~ 을 의미합니다.
while, for, if 에 대해 아직 익숙하지는 않지만, 일단 읽어 볼까요?
alive 인 동안에:
weekday 리스트로부터 일주일이 반복되는데:
현재시간을 확인해서 now 변수에 값을 넣고
만약에 now가 usual 보다 작다면:
잔다.
아니면:
일어난다.
=제어문에 의해 달라지는 부분=
alive 부터 시작된 문장이 if 에 의해 (잔다.) 또는 (일어난다.) 로 2 가지 경우의 수로 나뉘어집니다.
=반복문에 의해 달라지는 부분=
alive 인 동안에, 반복되는 일주일에서 하루하루
3_제어문과 반복문에서 공통되는 부분
설명 01
while 또는 if 또는 for 불리언: 들여쓰기 되어있는 코드 부분 |
while, for, if 는 공통점이 있습니다.
1. 다음에 불리언 이 나옵니다. (alive와 now < usual 은 참 / 거짓을 명확하게 나눌 수 있는 불리언입니다.)
2. 불리언 오른쪽에는 콜론( : )이 위치합니다.
3. 콜론 다음에는 들여쓰기가 되어있습니다.
4. 들여쓰기 된 부분은 한 덩어리로 취급됩니다.
5. 불리언이 True 일 경우, 들여쓰기 된 부분이 실행됩니다.
이제 while, for, if 가 각각 어떻게 다른지에 대해 알아봅니다.
'[일상봇 만들기] 나의 하루하루를 도와줄 친구!' 카테고리의 다른 글
level_03_part_2 (0) | 2019.07.03 |
---|---|
level_03_part_1 (0) | 2019.07.02 |
level_02_part_2 (0) | 2019.06.24 |
mok_cha (0) | 2019.06.20 |
level_00_들어가며 (0) | 2019.06.20 |