- if 구문을 활용해 조건이 True 일 경우와 False 일 경우를 나눠 다른 값을 창출하는 식
- 조건식은 if~else문으로 변경할 수 있다.
그러나 모든 if ~ else문은 조건식으로 변경할 수 있는 것은 아니다.num1 = 10 num2 = 100 num_result = True if num1 > num2 else False print('num1 > num2 : {}' .format(num_result))num1 > num2 : False
- 조건문 : 특정 조건에 따라 프로그램을 분기하는 것을 말한다.
└ if문, if ~ else문, if ~ elif문 등이 있다.
- True면 실행되고 False면 실행되지 않고 다음 구문으로 넘어간다.
- 단일 구문이다.
- 조건문이 실행되기 위해서는 : (콜론)을 찍어줘야 한다.
- 실행문이 여러개라면 모두 들여쓰기를 해줘야 한다.
if 10 > 5: print('10은 5보다 크다.') print('또 다른 실행문 ') print ('조건문이 끝났다.')10은 5보다 크다. 또 다른 실행문 조건문이 끝났다.
▶ 실내 온도를 입력하고 온도가 28도 이상이면 냉방 작동이 출력되고 20도 이하면 난방 작동이 출력하는 프로그램
high_temp = 28 low_temp = 20 inner_temp = int(input('실내 온도를 입력하세요.')) if inner_temp >= high_temp : print('냉방 작동') if inner_temp <= low_temp : print('난방 작동')실내 온도를 입력하세요.28 냉방 작동
조건식의 결과에 따라 둘 중 하나가 실행된다.
pass_score = 80 my_score = int(input('나의 점수는?')) if my_score >= pass_score: print('Pass') else : print('Fail')나의 점수는?90 Pass
▶ 소수점 첫 번째 자리에서 반올림하는 프로그램
float_num = float(input('소수 입력 :')) if float_num - int(float_num) >= 0.5: print('올림 : {}'.format((int(float_num) + 1))) else : print('버림 : {}'.format(int(float_num)))소수 입력 :0.65 올림 : 1▶ 비올 확률에 따라 반응하는 프로그램
percent_rain = int(input('비 올 확률 : ')) min_rain_percent = 55 # 조건식 활용 print('우산을 챙기세요.') if percent_rain >= min_rain_percent else print ('양산을 챙기세요') # if ~ else 구문 활용 if percent_rain >= min_rain_percent : print('우산을 챙기세요') else : print('양산을 챙기세요')비 올 확률 : 80 우산을 챙기세요. 우산을 챙기세요
- Pass 키워드 : 실행문을 아직 정하지 못했을 때 사용한다.
ex)if my_score >= pass_score: pass else : print('Fail')
- len()함수 : 문자의 길이를 나타낸다.
len('가나다') = 3 → 이때 공백문자도 하나의 글자로 센다.
: 여러 가지 조건식 결과에 따라 실행문이 결정된다.
example_score = int(input('시험 성적을 입력 : ')) grades = ' ' if example_score>= 90 : grades = "A" elif example_score >= 80 : grades = 'B' elif example_score >= 70 : grades = "C" elif example_score >= 60 : grades = "D" else : grades="F"시험 성적을 입력 : 80 성적 : 80 학점 : B
- 조건식은 순서가 중요하다.
▶ 계절을 입력하면 영어로 번역되는 프로그램
print('계절 : 봄, 여름, 가을, 겨울') season_str = input('계절 입력 : ') if season_str == '봄' : print('{} == {}'.format('봄' , 'spring')) elif season_str == '여름' : print('{} == {}'.format('여름' , 'summer')) elif season_str == '가을' : print('{} == {}'.format('가을' , 'autumn')) else : print('{} == {}'.format('겨울' , 'winter'))계절 입력 : 봄 봄 == spring▶ 키오스크에서 메뉴를 선택하면 영수증이 출력되는 프로그램
print('1. 카페라떼(5500)\t2. 에스프레소(2500)\t3. 아메리카노(4500)\t4. 곡물라떼(5500)') user_select = int(input('번호를 입력하시오 : ')) # 메뉴 프린트 print('-'*30) if user_select ==1: print ('메뉴 : 카페라떼') print('가격 : 5500원') elif user_select == 2 : print ('메뉴 : 에스프레소') print('가격 : 2500원') elif user_select == 3 : print ('메뉴 : 아메리카노') print('가격 : 4500원') elif user_select == 4 : print ('메뉴 : 곡물라떼') print('가격 : 5500원') else : print('잘못된 선택입니다.') print('초기화면으로 돌아갑니다') print('-' * 30)1. 카페라떼(5500) 2. 에스프레소(2500) 3. 아메리카노(4500) 4. 곡물라떼(5500) 번호를 입력하시오 : 2 ------------------------------ 메뉴 : 에스프레소 가격 : 2500원 ------------------------------
중첩 조건문 : 조건문 안에 또 다른 조건문을 넣을 수 있다.
단, 세단계 네단계 이상 중첩해서 사용하면 에러가 날 수 있다.example_score = int(input('성적을 입력 : ')) #점수 환산 if example_score < 60: pass else : if example_score >= 90 : print('A') elif example_score >= 80 : print('B') elif example_score >= 70 : print('C') elif example_score >= 60 : print('D')성적을 입력 : 95 A▶ 출퇴근시 이용하는 교통 수단에 따라 세금을 감면해주는 정책
selec_num = int(input('출 퇴근 대상자인가요? 1. YES 2. NO')) #if ~ else 중첩구문 if selec_num == 1: print('교통수단을 선택하세요.') transport = int(input('1. 도보, 자전거 \t2. 버스, 지하철\t 3. 자가용')) if transport == 1: print('세금 감면 5%') elif transport ==2: print('세금감면 3%') elif transport ==3: print('추가 세금 1%') elif selec_num ==2 : print('세금 변동 없음') else : print('잘못 입력하셨습니다.')출 퇴근 대상자인가요? 1. YES 2. NO >> 1 교통수단을 선택하세요. 1. 도보, 자전거 2. 버스, 지하철 3. 자가용 >> 2 세금감면 3%
- 반복문이란 특정 실행을 반복하는 것
- 반복문을 사용하면 프로그래밍이 간결하고 유지 보수가 쉽다.
- 반복문의 형태
- 횟수에 의한 반복 :
for i in range(100) : print('i -> {}'.format(i)
- 조건에 의한 반복 :
ex) 매일 아침 기상 알람, 게임 반복 실행, 타이머 등num = 0 // while (num<10) : print('num -> {}'.format(num)) num+=1
for i in range (0,0,0)
- range(시작, 끝, 단계)
- range(N) : 숫자 하나만 있으면 0부터 N까지 1씩 증가하며 반복
- range(N.M) : 숫자가 두 개 있으면 N부터 M까지 1씩 증가하며 반복
- range(N1, N2, N3) : N1부터 N2-1까지 N3씩 증가하며 반복하라.
ex) range(1,11,1) : 1부터 10까지 1씩 증가# 구구단 작성하기 print('-'*30) num = 0 gugudan_num = int(input('원하는 구구단 숫자를 입력하세요.')) for num in range (9) : result = gugudan_num * (num+1) print('{} * {} = {}'.format(gugudan_num, (num+1), result)) print('-' * 30)------------------------------ 원하는 구구단 숫자를 입력하세요. 9 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81 ------------------------------
▶ 1부터 시작해서 7의 배수의 합이 50이상인 최초의 정수 출력
sum = 0 maxInt = 0 for i in range(1,100): if i % 7 == 0 and sum <=50: sum += i maxInt = i print('i : {}'.format(i)) print('7의 배수의 합이 50 이상인 최초의 정수 : {}'.format(maxInt))7의 배수의 합이 50 이상인 최초의 정수 : 28
while True
- while + 조건식(True를 써주면 무한루프가 된다.)
- 횟수에 의한 반복은 for문을 사용하는게 낫다. while문으로 같은 결과를 제작할 수 있지만 구문이 길어진다.
- 논리형 데이터를 사용해 무한 반복이 실행되기도 한다.
end_num = 5 n = 0 while (n<=end_num) : print(n, end='') n+=1012345
▶ 1부터 20까지의 정수 중 2의 배수와 3의 배수를 구분해서 출력하자
n = 1 while n < 21 : if n % 2 == 0 : print('{}은 2의 배수이다.' .format(n)) elif n % 3 == 0 : print('{}은 3의 배수이다.' .format(n)) n += 12은 2의 배수이다. 3은 3의 배수이다. 4은 2의 배수이다. 6은 2의 배수이다. 8은 2의 배수이다. 9은 3의 배수이다. 10은 2의 배수이다. 12은 2의 배수이다. 14은 2의 배수이다. 15은 3의 배수이다. 16은 2의 배수이다. 18은 2의 배수이다. 20은 2의 배수이다.▶ while문을 이용해 사용자가 입력한 구구단 출력
n=1 gugudan_num = int(input('숫자를 입력 : ')) while n < 10 : result = gugudan_num * n print('{} * {} = {}'.format(gugudan_num, n, result)) n+=1숫자를 입력 : 8 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 8 * 9 = 72
자동차 바퀴가 한 번 구를 때마다 0.15mm씩 마모된다.
현재 바퀴 두께 30mm, 최소 운행 가능 바퀴 두께 20mm 일 때, 앞으로 구를 수 있는 횟수는?current_thickness = 30 rotation_count = 0 remove_thickness = 0.15 while current_thickness >= 20 : rotation_count += 1 current_thickness -= remove_thickness safe_rotation = rotation_count - 1 print('운행가능 횟수 : {}' .format(safe_rotation))운행가능 횟수 : 66