제어문
If문
돈이 있으면 택시를 타고, 돈이 없으면 걸어 간다
>>> money = True
>>> if money :
print("택시를 타고 가라")
else:
print("걸어가라)
택시를 타고 가라
다른 언어와 다르게 파이썬에서는 들여쓰기가 매우 중요!(안하면 오류남)
>>> money = True
>>> if 1:
1에 들어갈 불 자료형
비교연산자 | 설명 |
---|---|
x>y | x가 y보다 크다 |
x<y | x가 y보다 작다 |
x==y | x와 y가 같다 |
x!=y | x와 y가 같지 않다 |
x >= y | x가 y보다 크거나 같다 |
x <= y | x가 y보다 작거나 같다 |
연산자 | 설명 |
---|---|
x or(|) y | x와 y 둘중에 하나만 참이면 참이다 |
x and(&) y | x와 y 모두 참이어야 참이다 |
not x | x가 거짓이면 참이다 |
>>> 1 in [1,2,3]
True
>>> 1 not in [1,2,3]
False
pass
>>> pocket = ['paper','money','cellphone']
>>> if 'money' in pocket:
pass
else:
print("카드를 꺼내라")
>>> pocket = ['paper','cellphone']
>>> card = True
>>> if 'money' in pocket
print('택시를 타고가라')
elif card:
print('택시를 타고가라')
else:
print('걸어가라')
택시를 타고 가라
(조건문이 참인 경우) if (조건문) else (조건문이 거짓인 경우)
다른 언어의 3항 연산자와 유사
>>> score = 70
>>> if score >= 60:
message = "success"
else:
message = "failure"
success
>>> Message = "success" if score >= 60 else "failure"
>>> print (Message)
success
반복문 (while)
while문 기본구조
>>> while <조건문>:
<수행할 문장1>
<수행할 문장2>
<수행할 문장3>
...
열 번 찍어 안 넘어 가는 없다
>>> treeHit = 0
>>> while treeHit < 10:
treeHit = treeHit + 1 //파이썬에서는 treeHit++ 안된다
// treeHit += 1 은 가능
print("나무를 %d번 찍었습니다" %treeHit)
if treeHit == 10:
print("나무 넘어갑니다")
나무를 1번 찍었습니다
나무를 2번 찍었습니다
...
나무 넘어갑니다
>>> a = 0
>>> while a < 10:
a += 1
if a % 2 == 0:
continue
print(a)
1
3
5
7
9
>>> while True:
print("안녕하세요")
안녕하세요
안녕하세요
...
ctrl+ c 누르면 멈춤
for문
for문의 기본 구조
>>> for 변수 in 리스트(또는 튜플, 문자열)
수행할 문장1
수행할 문장2
...
예제로 익혀보자!
>>> test_list = ['one','two','three']
>>> for i in test_list:
>>> print(i)
one
two
three
>>> a = [(1,2),(3,4),(5,6)]
>>> for (first,last) in a: //(a,b) = (1,2)
>>> print(first+last)
3
7
11
>>> 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)
1번 학생은 합격입니다.
2번 학생은 불합격입니다.
3번 학생은 합격입니다.
4번 학생은 불합격입니다.
5번 학생은 합격입니다.
while문에서와 마찬가지도 continue를 만나면 아래쪽을 다 생략하고 다시 위로 올라간다
>>> marks = {90, 25, 67, 45, 80}
>>> number = 0
>>> for mark in marks:
>>> number = number + 1
>>> if mark < 60: continue
>>> print("%d학생은 합격입니다." %number)
1번 학생은 합격입니다.
3번 학생은 합격입니다.
5번 학생은 합격입니다.
>>> sum = 0
>>> for i in range(1,11): // 1<= i < 11
>>> sum = sum+1
>>> print(sum)
55
구구단
>>> for i in range(2,10):
>>> for j in range(1,10):
>>> print(i*j,end=" ")
>>> print('')
2 4 6 8 10 12 14 16 18
3 6 9 12 ...
4 8 ...
...
>>> result = [num * 3 for num in a] //num * 3을 result에 담고싶다
// num은 for문은 돈 결과
>>> print(result)
[3,6,9,12]
>>> result = [num*3 for num in a if num % 2 == 0]
>>> print(result)
[6,12]
>>> result = []
>>> for num in a:
>>> if num % 2 == 0
>>> result.append(num*3)
//이중 for문
>>> result = [x*y for x in range(2,10) for y in range(1,10)]
>>> result = []
>>> for x in range(2,10)
>>> for y in range(1,10)
>>> result.append(x*y)