마크다운
마크다운?
- 일반 텍스트로 서식이 있는 문서를 작성하는 언어
- 문서를 읽기 쉽고, 배우기 쉬운 도구
- 사이트에서 간단하게 마크다운을 확인할 수 있음
- 제목, 강조, 구분선, 인용글 등 다양한 문법이 존재
- 아이콘이 존재해서 글을 쉽게 꾸밀 수 있음
- 마크다운의 문법이 어디까지 지원되는지 문서가 존재
# 제목1
## 제목2
### 제목3
본문
엔터가 적용 안됩니다.
본문
엔터가 적용 됩니다.
![img](test)
---
* 1 점
- 2 점
* 3점
1. 순서1
1. 순서2
1. 순서3
문자열 & 반복문
'hi'.join(['hi', 'py'])
'hi,py'.split(',')
'123231hi,py312321'.strip('123')
'123231hi,py312321'.lstrip('123')
'123231hi,py312321'.rstrip('123')
'hi,py'.replace(',', '!')
'hi,py' + 'hi,py'
'hi,py' * 3
'hi,py'[3]
'hi,py'[1:3]
'''
문자열
'''
a = 1
print('%d' % a)
b = 1.1
print('%.3f' % b)
print('%s %s'%(a, b))
print(f'{a}')
print(f'{b:.3f}')
print(f'{a} {b}')
x = 1
print(f'x : {x}')
x = '1'
print(f'x : {x:.^10}')
x = 1.0
print(f'x : {x:10.4f}')
start = 1
end = 7
step = 1
range(start, end, step)
range(3)
range(1, 3)
range(1, 3, 2)
range(3, 1, -2)
반복문
print(1, end = ' ')
print(2, end = ' ')
print(3)
for i in range(3):
print(i + 1, end = ' ')
print()
for i in {0, 1, 2}:
print(i)
for i in (0, 1, 2):
print(i)
for i in '012':
print(i)
for i in [1, 1.0, '1', True]:
print(i)
for[반복하겠다!] i[변수를 넣어라!] in[어디에서 가져오겠다] range(3)[0 ~ 2 까지 순서대로]:[끝!]
[들여쓰기를 한다!]print(i + 1, end = ' ')[출력해라]
즉,
반복하겠다, 변수를 넣어라, 어디에서 가져오겠다 0 ~ 4 까지 순서대로 : 끝!
들여쓰기를 하고 출력해라라
개행문자(Escape Sequence)
print
print('안 녕')
print('안 ', end='녕')
print('안', '녕', seq=' ')
실습
문자열
01 indexing & slicing
text[162]
text[-200:]
02 split & join & replace
texts = text.split()
text = texts.join(' ')
text.replace('l', 'L')
03 reversed & count
text[::-1]
text.count('a')
04 자연어를 토대로 문제 풀기
texts = text.split()
texts[0].split('o'), texts[-1].split('o')
texts = text.split('1500')
for text in texts:
text.split('Lbokr')
05 strip과 lstrip의 차이
text.strip('Lorem Ipsum')
text.lstrip('Lorem Ipsum')
06 문장을 한줄로 출력
text = '''반복문을 이용하면
여러 줄의 출력도
하나의 프린트문으로 출력할 수
있습니다.'''
for tmp in text.split('\n'):
print(tmp)
texts = text.split('\n')
data = [''] * len(max(texts))
for i in range(len(texts)):
for j in range(len(max(texts))):
if j < len(texts[i]):
if texts[i][j] != ' ':
data[j] += texts[i][j]
if texts[i][j] == ' ':
data[j] += ' '
else:
data[j] += ' '
07 과제
text = '오늘은\t문자열을\t배웠고,\t그\t지식을\t이용해\t문자열\t수정을\t해\t봅시다\n'
text.replace('\t',' ').replace('\n',' ')
text.replace('\t','%').replace('\n','%')
print(text.split(',')[0])
print(text.split(',')[1])
print(text.replace(',','\n'))
range, 반복문
01 4의 배수
for i in range(4,100,4):
print(i)
for i in range(1,25):
print(i*4)
02 별찍기
n = 5
for i in range(n):
print('★' * (n - 1 - i) + '☆' * (1 + i))
03 짝홀
for i in [2,6,8,9,1,0]:
if i % 2 == 0:
print('짝수')
if i % 2 == 1:
print('홀수')
04 팩토리얼
num = 5
result = 1
msg = ''
for i in range(num, 0, -1):
msg += str(i) + ' * '
print(f'{result} * {i} = {result * i}')
result *= i
print(msg[:-3], '=', result)
05 소수점 range
for i in range(20, -1, -1):
print(i / 2)
06 짝홀 크로스
num = 8
for i in range(0, num):
if i < num / 2:
print('\t' * i, i * 2, sep = '', end='')
print('\t' * (num - i * 2 - 1), i * 2 + 1, sep = '')
else:
print('\t' * (num - i - 1), i * 2 + 1, sep = '', end='')
print('\t' * (i * 2 - num + 1), i * 2, sep = '')
07 3의 배수
range(3, 100, 3)
range(6, 100, 6)
복합
01 반복문을 돌면서, 문자는 출력 숫자는 10 곱해서 출력
for i in ['10',9,'8',7,'6',5,'4',3,'2',1]:
if type(i) == str:
print(i)
else:
print(i*10)
02 다중 조건
x = 400
if x > 500:
print(x,'는 500 초과입니다')
elif x > 300:
print(x,'는 301~500 입니다')
else:
print(x,'는 300 이하입니다')
회고
- 마크다운에 아이콘이 존재하는 것을 몰랐는데, 이번 기회에 작성에 사용하면 좋을 것 같다.
- 문자열의 strip이 순서를 고려하는 줄 알았는데, 아니었다!
- 개행문자의 다양한 종류가 있지만, 실제로 사용하는 것은 일부인 것 같다.
- Lorem Ipsum의 존재는 알았지만, python package가 존재하는 것은 처음 알았다.
- 다양한 실습 문제를 통해, 스스로 문제를 어떻게 파악하는지 알게 되었다.
- 추가로 한 가지 방법이 아닌 타인의 풀이는 보는 것에서 많은 가능성을 보았다.
Ref