1. 중요한 건 비교우위
한 사람이 다른 한 사람보다 모든 면에서 우월할 수 있다
하지만 한 사람이 전부를 동시에 처리할 수는 없는 법
결국 선택의 문제
2. 파이썬 문법 / 자료형
1) ' '(홑따음표) 와 " "(쌍따음표)
(but, 파이썬에서는 구분하지 않음)
문자 : 'a', 'b', 'c', 'd' 등 (문자 하나일 경우)
문자열 : "주말", "주간" 등
2) 주석처리 단축키
<ctrl + />
3) 리스트 문자열 보충
index()
index 사용 1
name = ['짱구','철수','유리','훈이','맹구']
print(name[1])
>
철수
fit = 1.5
num = 2
nums = [3.14, 18, 10, fit, num]
print(nums[0]*fit)
>
4.71
pi = nums[0]
sum = pi + 200
print(sum)
>
203.14
index 사용 2 (last index) : (len()-1)
a = [11,22,33,44,55,66]
a_cnt = len(a)
last_idx = (len(a)-1)
print(f'{a=} 의 리스트의 길이는 {a_cnt}, 마지막 인덱스는 {last_idx} 입니다.')
index 사용 3
※ index 함수를 사용하면 위치가 나오기 때문에 +1을 해줘야 함
name = ['짱구','철수','유리','훈이','맹구']
pos = name.index('유리')
# print(pos) # > 2
print(f'유리 학생은 {pos+1}번 입니다.')
index 사용 4
※ 특정 값의 인덱스를 찾고, 그 인덱스를 활용하기(문자열 바꾸기)
name = ['짱구','철수','유리','훈이','맹구']
pos = name.index('유리') # pos = 2
name[pos] = 'Hello' # name 이라는 리스트의 특정 위치에 'Hello' 라는 문자열을 덮어씌움
print(name)
>
['짱구', '철수', 'Hello', '훈이', '맹구']
index 활용 1
a = [55,87,43,98]
b = [65,80,77,91]
num = int(input("학생 번호를 입력해주세요 >> "))
#만약 1을 입력 받는다면 num = int("1")이 됨. 이를 해결해주기 위해 int를 붙이는 것임.
idx = num-1 #학생 번호를 1~4까지 입력하므로 index와 일치 시키기 위해서는 -1이 필요하다
aver = (a[idx]+b[idx])/2 #평균을 구하는 공식
print(aver)
(2) range(시작, 끝, 증감폭)
※ 범위의 암묵적 기준(강제는 아님, 편의를 위해)
0 <= x < 10 (증감 숫자가 생략되었다면 1씩 "증감", 10이 "반복 횟수"임)
ex) 0 <= x < 14392 (14392개)
x < 10 (시작 숫자가 생략 되었다면 항상 "0부터" 시작한다)
print(range(0, 10, 1)) #기본형태
print(range(0, 10)) #증감폭 생략
print(range(10)) #시작점 생략
range를 list 안에 넣어보기(신기함)
print(list(range(0,10)))
>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list(range(0,10,2)))
>
[0, 2, 4, 6, 8]
range 활용(range, list를 사용한 구구단 만들기)
max = 10 변수가 주어짐
gugu = int(input("몇 단을 출력할까요? : "))
max = 10
mul = list(range(gugu,(max*gugu),gugu))
print(f'{gugu}단 출력: ',mul)
(3) 리스트 관련 함수
append
list = [1,2,3]
print(list)
list.append(4)
print(list)
>
[1, 2, 3]
[1, 2, 3, 4]
insert(위치, 넣을 값)
list = [1,2,3]
print(list)
list.insert(2,1) #리스트 index 2에 1을 넣기
print(list)
>
[1, 2, 3]
[1, 2, 1, 3]
clear : 전부 제거
list = [1,2,3]
list.clear()
print(list)
>
[]
sort : 정렬
a = [2, 5, 10, 3, 25]
print(a)
a.sort()
print(a)
>
[2, 5, 10, 3, 25]
[2, 3, 5, 10, 25]
count(찾을 값) : 찾을 값의 개수
a = [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 8, 8, 9]
print(a)
a.count(8)
>
[1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 8, 8, 9]
3
3. 파이썬 문법 / 로직
1) if문
기본
money = int(input("가지고 있는 현금을 입력해주세요 : "))
if money > 5000:
print("택시를 타세요")
else:
print("걸어가세요")
if 안 if
money = int(input("가지고 있는 현금을 입력해주세요 : "))
if money > 2000:
print("버스를 타세요")
if money > 5000:
print("택시를 타세요")
else:
print("걸어가세요")
else if
money = 10000
if money > 5000:
print("택시를 타세요")
elif money > 700:
print("지쿠터를 타세요")
else:
print("걸어가세요")
>
택시를 타세요
if만 계속 쓰는 경우와 차이점
위 뿐만 아니라 아래 조건문도 실행됨
money = 10000
if money > 5000:
print("택시를 타세요")
if money > 700:
print("지쿠터를 타세요")
else:
print("걸어가세요")
>
택시를 타세요
지쿠터를 타세요