🔅들여쓰기 잘못할 경우 SyntaxError 발생
🔅VSCode에서 코드 진행 상황을 보려면 코드 번호 왼 쪽에 Breakpoint(시작포인트)를 건 이후 Run->Start debugging 실행해 한 줄씩 확인 가능
🔅++ 연산자와 -- 연산자 사용 불가능, += 연산자 또는 -= 연산자 사용 가능
조건문이 true일 경우, 해당 코드 실행
flase일 경우 다음 elif 또는 else 실행
if <조건문>:
<수행할 문장>
조건문은 기본적으로 bool 이어야함, 이 때
불 자료형
사용해 bool 자료형으로 만들어도됨
1) bool 자료형
: < , > , == , != , >= , <= , and , or , not , & , | , in , not in
2) [02.자료형] 에서 정리한 자료형의 True/False
도 가능
자료형의 True/False
값 | True/False |
---|---|
"python" | True |
"" | False |
[1,2,3] | True |
[] | False |
() | False |
{} | False |
1 | True |
0 | False |
None | False |
3) 비교연산자
비교연산자 | 설명 |
---|---|
x < y | x가 y보다 작다 |
x > y | x가 y보다 크다 |
x == y | x와 y가 같다 |
x != y | x와 y가 같지 않다 |
x >= y | x가 y보다 크거나 같다 |
x <= y | x가 y보다 작거나 같다 |
4) 논리연산자
연산자 | 설명 | 기호 |
---|---|---|
x or y | x와 y 둘중에 하나만 참이면 참 | | |
x and y | x와 y 모두 참이어야 참 | & |
not x | x가 거짓이면 참 | not |
5) 포함 연산자
찾고자 하는 값 + 포함연산자 + 자료 여러개를 포함한 자료형
연산자 | 설명 |
---|---|
in | 포함하면 참 |
not in | 포함하지 않으면 참 |
💡 example
if 1 in [1,2,3]:
print("hi") #hi 출력
조건문에
아무 일도 하지 않게
설정
elif가 있을 경우 실행
💡 example
pocket = ['paper','money','cellphone']
if 'money' in pocket:
pass #아무 것도 출력 X
else:
print("카드를 꺼내라")
다중 조건 판단,
elif 진행 후 다음 elif 진행
반복
모두 false일 경우 else 실행
1.성공일 때 조건 먼저 써준다
2.조건식을 써준다
반드시 else
써야함. 안 쓸 경우 오류 발생
💡 example
#1
score = 79
if score >= 60:
message = "success"
else:
message = "failure"
print(message)
#2
message = "success" if score >= 60 else "failure"
print(message)
조건문이 true일 경우, 아래 코드 반복 실행
while <조건문> :
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
...
while
반복문을 빠져나감
💡 example
coffee = 10
money = 300
while money:
print("돈을 받았으니 커피를 줍니다.")
coffee = coffee - 1
print("남은 커피의 양은 %d개입니다.") %coffee
if not coffee:
print("커피가 다 떨어졌습니다. 판매를 중지합니다")
break
# 10 번 반복후 break 만나 while문 빠져나감
continue
아래 코드를 실행하지 않고 while문 맨 처음으로
돌아감
💡 example
a = 0
while a < 10 :
a = a+1
if a % 2 == 0:
continue
print(a)
ctrl+c
누르면 무한loop 종료
while True:
<수행할 문장1>
<수행할 문장2>
...
for문을 돌면서 리스트(또는 튜플,문자열) 안의 요소들이 하나씩 변수로 할당됨
index가 증가해서 가져오는 형태가 아니라 기본적으로 하나씩 가져와서 변수에 들어감
for <변수> in <리스트(또는 튜플, 문자열)>:
<수행할 문장1>
<수행할 문장2>
...
💡 example (for문 사용 예제)
#1 리스트
test_list = ["one","two","three"]
for i in test_list:
print(i) #one(\n) two(\n) three 출력
#2 리스트 안의 튜플
a = [(1,2),(3,4),(5,6)]
for (first, last) in a:
print(first+last) #3(\n) 7(\n) 11 출력
💡 example
# 60점이 넘으면 합격, 그렇지 않으면 불합격
marks = [90,25,67,45,80]
number = 0
for mark in marks:
number = number+1
if mark>60:
print("%d번 학생은 합격") %number
else:
print("%d번 학생은 불합격") %number
for문
반복문 빠져나감
, while과 동일
아래 코드 실행하지 않고 다음 반복문 실행
, while과 동일
marks = [90,25,67,45,80]
number = 0
for mark in marks:
number = number+1
if mark<60: continue
print("%d번 학생 축하합니다. 합격입니다") %number
# 60보다 작을 경우 continue를 만나 아래 코드 생략 후 다음 for문 실행
for i in range(x,y)는 i가
x 이상부터 y 미만
만큼 반복 (slicing과 동일)
sum = 0
for i in range(1,11):
sum = sum+i
print(sum)
💡 example (구구단예제)
for i in range(2,10):
for j in range(1, 10):
print(i*j, end=" ") #end=" "는 다음 줄로 넘어가지 않고 공백 한 칸 있는 상태로 만듬
print('')
💡 example
#1
result = [num*3 for num in a] #a의 값들을 *3한 값들을 리스트 result로 만들어라
#2-1
result = [num*3 for num in a if num%2==0]
#2-2 앞과 같은 결과
result = []
for num in a:
if num%2 == 0:
result.append(num*3)
#3-1
result = [x*y for x in range(2,10) for y in range(1,10)]
#3-2 앞과 같은 결과
result = []
for x in range(2,10):
for y in range(1,10):
result.append(x*y)