money = 2000
card = True
print((money >= 3000) or card) # True <- False or True
print(1 in [1, 2, 3]) # True
print(1 not in [1, 2, 3]) # False
pocket = ['paper','cellphone', 'money']
print('money' in pocket) # True
if 'money' in pocket:
print("돈 있음") # 수행할 문장이 한 줄뿐
else:
print("카드 꺼내자") # 수행할 문장이 한 줄뿐
if 'money' in pocket: print("돈 있음") # 콜론 옆에 바로 붙여 써도 똑같이 동작한다
else: print("카드 꺼내자")
if score >= 60: # score가 60이상이면
message = "success" # 변수 message에 "success"라는 글자 할당
else: # score가 60이상이 아니라면
message = "failure" # 변수 message에 "failure"라는 글자 할당
# 위 코드를 조건부 표현식으로 한 줄로 정리.
message = "success" if score >= 60 else "failure"
while 조건문:
수행할 문장1
수행할 문장2
...
# 나무를 3번 찍으면 나무가 넘어가는 프로그램
treeHit = 0
while treeHit < 3:
treeHit = treeHit + 1
print("나무를 %d번 찍었습니다." % treeHit)
if treeHit == 3:
print("나무 넘어갑니다.")
while True:
수행할 문장1
수행할 문장2
...
while문의 조건문이 True이므로 항상 참이 된다. 따라서 while문 안에 있는 문장들은 무한하게 수행된다.
for 변수 in 리스트(또는 튜플, 문자열):
수행할 문장1
수행할 문장2
...
# 전형적인 for문
test_list = ['one', 'two', 'three']
for i in test_list:
print(i)
[출력결과]
one
two
three
# 다양한 for문의 사용
a = [(1,2), (3,4), (5,6)]
for (first, last) in a:
print(first + last)
[출력결과]
3
7
11
# for문의 응용
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번 학생은 합격입니다.
add = 0
for i in range(1, 11):
add = add + i
print(add)
[출력결과]
55
marks = [90, 25, 67, 45, 80]
for number in range(len(marks)): #range(5)와 동일.
if marks[number] < 60:
continue
print("%d번 학생 축하합니다. 합격입니다." % (number+1))
[출력결과]
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
#구구단
for i in range(2,10): # 1번 for문
for j in range(1, 10): # 2번 for문
print(i*j, end=" ") # 같은 단끼리는 옆에 붙여 출력하기위해, end=" " 사용
print('') # 한 단 종료후 엔터. print를 하면 기본으로 나오는 엔터를 출력하기 위함.
#리스트 컴프리헨션 안 쓴 상태
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]
#리스트 컴프리헨션에 "if 조건"까지 사용
a = [1,2,3,4]
result = [num * 3 for num in a if num%2 == 0] #리스트 a에서 짝수인 것에만 3곱하기
print(result)
[출력결과]
[6, 12]
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 # 커피가 없으면 break로 무한루프를 빠져나감
while True를 쓰는 무한 루프이지만, 커피가 다 떨어지면 break를 통해 루프를 빠져나갈 수 있음
for i in range(3):
print('start')
if i==1:
break #i가 1이면 for문을 그만 둠
print('end')
[출력결과]
start
end
start
# 1부터 10까지의 숫자 중, 홀수만 출력하는 프로그램
a = 0
while a < 10:
a = a + 1
if a % 2 == 0: continue #짝수면 while문의 맨 처음(조건문:a<10)으로 돌아가게 함
print(a)
# 60점 이상인 사람은 축하메세지, 나머지는 아무 메세지도 전하지 않는 프로그램.
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:
number = number +1
if mark < 60:
continue #점수가 60점 미만이면 for문 처음으로 돌아감->변수 mark 다음거~
print("%d번 학생 축하합니다. 합격입니다. " % number)
[출력결과]
1번 학생 축하합니다. 합격입니다.
3번 학생 축하합니다. 합격입니다.
5번 학생 축하합니다. 합격입니다.
#주머니에 돈이 있으면 가만히 있고 주머니에 돈이 없으면 카드를 꺼내라
pocket = ['paper', 'money', 'cellphone']
if 'money' in pocket:
pass
else:
print("카드를 꺼내라")