Python의 제어문인 조건문과 반복문에 대해 알아봅니다.
money = True
if money:
print("택시를 타고 가라")
else:
print("걸어 가라")
# 택시를 타고 가라
if 조건문:
수행할_문장1
수행할_문장2
...
else:
수행할_문장A
수행할_문장B
...
if 조건문: 수행할_문장11 in [1, 2, 3] # True
1 not in [1, 2, 3] # False
'a' in ('a', 'b', 'c') # True
'j' not in 'python' # True
pocket = ['paper', 'money', 'cellphone']
if 'money' in pocket:
pass
else:
print("카드를 꺼내라")
pocket = ['paper', 'cellphone']
card = True
# if문
if 'money' in pocket:
print("택시를 타고가라")
else:
if card:
print("택시를 타고가라")
else:
print("걸어가라")
# elif 사용
if 'money' in pocket:
print("택시를 타고가라")
elif card:
print("택시를 타고가라")
else:
print("걸어가라")
변수 = 참일_때_값 if 조건 else 거짓일_때_값score = 85
if score >= 60:
result = "합격"
else:
result = "불합격"
# 조건부 표현식 사용 시
result = "합격" if score >= 60 else "불합격"
while 조건문:
수행할_문장1
수행할_문장2
수행할_문장3
...
여러 가지 선택지 중 하나를 선택해서 입력받는 예제
prompt = """
1. Add
2. Del
3. List
4. Quit
Enter number: """
number = 0
while number != 4:
print(prompt)
number = int(input()) # input 함수는 사용자에게 입력값을 받음
coffee = 10
while True:
money = int(input("돈을 넣어 주세요: "))
if money == 300:
print("커피를 줍니다.")
coffee = coffee -1
elif money > 300:
print("거스름돈 %d를 주고 커피를 줍니다." % (money -300))
coffee = coffee -1
else:
print("돈을 다시 돌려주고 커피를 주지 않습니다.")
print("남은 커피의 양은 %d개 입니다." % coffee)
if coffee == 0:
print("커피가 다 떨어졌습니다. 판매를 중지 합니다.")
break
a = 0
while a < 10:
a = a + 1
if a % 2 == 0: continue
print(a)while True:
수행할_문장1
수행할_문장2
...
count = 0
while count < 3:
print(f"카운트: {count}")
count += 1
else:
print("while 문이 정상 종료되었습니다.")
# 카운트: 0
# 카운트: 1
# 카운트: 2
# while 문이 정상 종료되었습니다.
count = 0
while count < 5:
if count == 2:
break
print(f"카운트: {count}")
count += 1
else:
print("while 문이 정상 종료되었습니다.")
# 카운트: 0
# 카운트: 1
i = 1
while i <= 3:
j = 1
while j <= 3:
print(f"i={i}, j={j}")
j += 1
i += 1
for 변수 in 리스트(또는 튜플, 문자열):
수행할_문장1
수행할_문장2
...
test_list = ['one', 'two', 'three']
for i in test_list:
print(i)
a = [(1,2), (3,4), (5,6)]
for (first, last) in a:
print(first + last)
# 3
# 7
# 11
marks = [90, 25, 67, 45, 80] # 학생들의 시험 점수 리스트
number = 0 # 학생에게 붙여 줄 번호
for mark in marks: # 90, 25, 67, 45, 80을 순서대로 mark에 대입
number = number +1
if mark >= 60:
print("%d번 학생은 합격입니다." % number)
else:
print("%d번 학생은 불합격입니다." % number)
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark < 60:
continue
print("%d번 학생 축하합니다. 합격입니다. " % number)
range 함수
a = range(10)
a # range(0, 10)
b = range(1, 11)
b # range(1, 11)
for와 range 함수를 사용
add = 0
for i in range(1, 11):
add = add + i
print(add) # 55
문법
[표현식 for 항목 in 반복_가능_객체 if 조건문]
# for 문을 2개 이상 사용하는 것도 가능
[표현식 for 항목1 in 반복_가능_객체1 if 조건문1
for 항목2 in 반복_가능_객체2 if 조건문2
...
for 항목n in 반복_가능_객체n if 조건문n]
a 리스트의 각 항목에 3을 곱한 결과를 result 리스트에 담기.
a = [1,2,3,4]
result = []
for num in a:
result.append(num*3)
print(result) # [3, 6, 9, 12]
a = [1,2,3,4]
result = [num * 3 for num in a]
print(result) # [3, 6, 9, 12]
- 짝수에만 3을 곱하여 담기. -> 리스트 컴프리헨션 안에 ‘if 조건문’을 사용.
```python
a = [1,2,3,4]
result = [num * 3 for num in a if num % 2 == 0]
print(result) # [6, 12]
for i in range(10):
if i == 5: break
print(i)
for 문이 정상적으로 종료되었을 때(break로 빠져나가지 않았을 때) else 절이 실행된다.
for i in range(5):
print(i)
else:
print("for 문이 정상 종료되었습니다.")
# 0
# 1
# 2
# 3
# 4
# for 문이 정상 종료되었습니다.
break 문으로 for 문을 빠져나가면 else 절은 실행되지 않는다.
for i in range(5):
if i == 3:
break
print(i)
else:
print("for 문이 정상 종료되었습니다.")
# 0
# 1
# 2
enumerate(리스트): 0부터 시작하는 인덱스 번호를 자동으로 생성해준다.enumerate(리스트, 시작번호): 시작 번호를 설정.fruits = ['apple', 'banana', 'orange']
for i, fruit in enumerate(fruits, 1): # 1부터 시작
print(f"{i}: {fruit}")
# 1: apple
# 2: banana
# 3: orange
names = ['홍길동', '김철수', '이영희']
korean = [85, 92, 78]
english = [90, 88, 95]
for name, kor, eng in zip(names, korean, english):
print(f"{name}: 국어 {kor}점, 영어 {eng}점")
# 홍길동: 국어 85점, 영어 90점
# 김철수: 국어 92점, 영어 88점
# 이영희: 국어 78점, 영어 95점