어떤 조건에 따라 실행이 분기되는 식
A if 조건식 else B : 조건식의 결과가 True이면 A 실행, 그렇지 않으면 B 실행
num1 = 60
num2 = 80
# 방법1
numResult = True if num1 > num2 else False
print('{} > {} : {}' .format(num1, num2, numResult))
# 방법2
print('{}은 {}보다 크다.' .format(num1, num2)) if numResult else print(print('{}은 {}보다 작다.' .format(num1, num2)))
# 적설량 경보
limSnowAmount = 30
snowAmount = int(input('적설량 입력: '))
print('적설량: {}mm, 대설 경보 발령' .format(snowAmount)) if snowAmount >= limSnowAmount \
else print('적설량: {}mm, 대설 경보 해제' .format(snowAmount))
코드 | 의미 |
---|---|
if | 단일조건 |
if ~ else | 양자택일 |
if~elif | 다자택일(다중조건) |
if 조건식:
실행문
num1 = 10; num2 = 5
if num1 > num2:
print('{}는 {}보다 크다.' .format(num1, num2))
passScore = 80
myScore = int(input('점수 입력: '))
if myScore >= passScore:
print('합격')
else:
print('불합격')
Error
발생passScore = 80
myScore = int(input('점수 입력: '))
if myScore >= passScore:
pass
else:
pass
len('가나다') # 3
len(' 가나다') # 4
# 소수 첫 번째 자리 반올림
floatNum = float(input('소수 입력: '))
if floatNum - int(floatNum) >= 0.5:
print('올림 : {}' .format(int(floatNum) + 1))
else:
print('내림 : {}' .format(int(floatNum)))
1. 조건식 결과에 따른 실행만 하는 경우
2. 조건식 결과를 변수에 할당하는 경우
# 비 오면 우산, 비 안오면 양산
rainPer = int(input('비 올 확률 입력 : '))
minRainPer = 55
if rainPer >= minRainPer:
print('우산 챙기세요.')
else:
print('양산 챙기세요.')
print('1. 카페라떼(3.5) \t 2. 에스프레소(3.0) \t 3. 곡물라떼(4.0) \t 4. 밀크티(4.3)')
userSelectNumber = int(input('메뉴 선택: '))
if userSelectNumber == 1:
print('메뉴 : 카페라떼')
print('가격 : 3,500원')
elif userSelectNumber == 2:
print('메뉴 : 에스프레소')
print('가격 : 3,000원')
elif userSelectNumber == 3:
print('메뉴 : 곡물라떼')
print('가격 : 4,000원')
elif userSelectNumber == 4:
print('메뉴 : 밀크티')
print('가격 : 4,300원')
출퇴근 대상인가?
출퇴근 대상자이면
도보, 자전거 > 세금 감면 5%
버스, 지하철 > 세금 감면 3%
자가용 > 추가 세금 1%
출퇴근 대상자가 아니면
세금 변동 없음
# 출퇴근 세금감면
selectNum = int(input('출퇴근 대상자 인가요? 1. 네 \t 2. 아니오'))
if selectNum == 1:
print('교통수단을 입력하세요.')
trans = int(input('1. 도보, 자전거 \t 2. 버스, 지하철 \t 3. 자가용'))
if trans == 1:
print('세금 감면 : 5%')
elif trans == 2:
print('세금 감면 : 3%')
else:
print('추가 세금 : 1%')
elif selectNum == 2:
print('세금 변동 없습니다.')
else:
print('잘못 입력했습니다.')
특정 실행을 반복하는 것
반복문을 사용하면 프로그래밍이 간결하며, 유지 보수가 쉬움
for i in range(100):
print('i > {}' .format(i))
num = 0
while (num < 10):
print('num > {}' .format(num))
num += 1
for ~ in 키워드 반복횟수
실행문
for i in range(5):
print(i)
# 7단 출력
for i in range(1, 10):
result = 7 * i
print('{} * {} = {}' .format(7, i, result))
for i in range(A, B, C)
>> A 부터 B 까지 C 씩 증가
이 때, range함수의 범위는 A 이상 B 미만, 즉 [A,B) 로 인식
for i in range (1, 11, 1) # 1부터 10까지 1씩 증가하며 반복
for i in range (0, 10, 2) # 0부터 9까지 2씩 증가하며 반복
for i in range (5, 10, 1) # 5부터 9까지 1씩 증가하며 반복
while 조건:
출력
endNum = 10; n = 0
while n <= endNum:
print(n)
n += 1
# 구구단 출력
n = 1
while n < 10:
result = 7 * n
print('7 * {} = {}' .format(n, result))
n += 1
for문 | while문 | |
---|---|---|
특 징 | - 횟수에 의한 반복 | - 조건에 의한 반복 |
예 제 | - 1부터 10까지의 합을 구하는 경우 | - 1부터 시작해서 7의 배수의 합이 50이상인 최초의 정수 출력 |
currentThickness = 30
rotationCount = 0
removeThickness = 0.15
while currentThickness >= 20:
rotationCount +=1
currentThickness -= removeThickness
safeRotationCount = rotationCount - 1 # 20mm 이하로 내려갈 경우 운행 불가
print('운행 가능 횟수 : {}' .format(safeRotationCount))
import random
sum = 0; date = 1; flag = True
while flag:
patientCount = random.randint(50, 100)
sum += patientCount
date += 1
print('날짜 : {}, \t 오늘 환자 수 : {}, \t 누적 환자 수 : {}' .format(date, patientCount, sum))
if sum >= 10000:
flag = False
# continue, else 구문
cnt = 0
for i in range(100):
if i % 7 != 0:
continue
print('{}는 7의 배수입니다.' .format(i))
cnt += 1
else:
print('99까지의 정수 중 7의 배수는 {}개입니다.' .format(cnt))
limitWeight = 2200
currentWeight = 800
date = 1
while True:
if currentWeight >= 2200:
break
date += 1
currentWeight += 70
print('이유식 중단 날짜 : {}일' .format(date))
# 중첩 반복문
for i in range(1, 10):
for j in range(i):
print('*', end = '') # end : 개행을 막음
print() # 개행을 위해
# 중첩 반복문 (감소)
for i in range(10, 0, -1):
for j in range(i):
print('*', end = '')
print()
for i in range(1, 10):
for j in range(2, 10):
result = j * i
print('{} * {} = {} \t' .format(j, i, result), end = '')
print()