4주차 수업 복습
if문
조건에 따라 어떤 일을 수행하는 것
#학점 4.0이상이면 장학금을 수여하는 문장
if grade>=4.0:
print("장학금을 받습니다")
if 조건식:
실행문1
#조건식이 참이면 실행문1을 실행하고 거짓이면 실행하지 않는다.
if문은 조건이 참인 경우에 무엇을 해야할지 명시한다.
예1. 은행 계좌 출금
잔액이 출금할 금액만큼 충분한지 먼저 검사해야함.
:출금액이 amount이고 잔액이 balance라면 if문에서 amount 값이 balance 값보다 작거나 같은지 검사
balance=100000
amount=int(input("출금액 입력:"))
if amount<=balance:
balance=balance-amount
print("현재 잔액:",balance)
if 문 내에 여러문장을 들여쓰기(indentation) (indent<->dedent) 한 상태로 쓸 수 있음. 조건이 참이면 이 명령문들을
순차적으로 모두 수행.
if-else문
조건이 참일 때 해야할 일과 조건이 거짓일때 해야할 일을 따로 명시
if grade>=4.0:
print("장학금 get")
else:
print("장학금 못받음 ㅠ")
if 조건식:
실행문1
else:
실행문2
#조건식이 참이면 실행문1 실행, 거짓이면 실행문2 실행
예2. 은행 계좌 출금 확장
잔액이 출금액보다 크거나 같으면 출금하고 결과 잔액을 출력, 만약 잔액이 출금액보다 작으면 잔액 부족이라는
메시지를 출력하도록 하기.
balance=100000
amount=int(input("출금액 입력:"))
if amount<=balance:
balance=balance-amount
print("잔액:",balance)
else:
print("잔액이 부족하네요ㅜ")
※if, else 문장의 경우 반드시 들여쓰기해야 함!
관계 및 논리 연산
관계 연산
if문의 조건식: 비교 연산 or 논리 연산 이용하여 어떤 조건 나타냄
비교 연산
같다 A==B
다르다 A!=B
크다 A>B
크거나 같다 A>=B
작다 A<B
작거나 같다 A<=B
(모두 정수, 실수, 문자열의 자료형 사용 가능함)
예시1. 두 수 중 더 큰 수?
print("두 수 입력")
a=float(input())
b=float(input())
if a>b:
max=a
else:
max=b
print("큰 수는:",max)
예시2. 계속 진행?
(수 뿐만 아니라 문자열도 비교 가능!)
reply=input("continue? ")
if reply=="예":
print("keep going")
else:
print("끝")
논리 연산
if문이나 while문의 조건식에 주로 사용됨
논리합: A or B
논리곱: A and B
논리부정: not A
조건식 기타
숫자, 문자열, 리스트, 튜플, 사전 등도 조건식으로 사용
숫자 0
빈문자열 ""(공백 없어야함!)
빈리스트[]
빈튜플()
빈사전{}
=> 거짓! 그 이외의 값은 모두 참으로 간주한다.
중첩 if문
if 문 안에는 어떠한 명령문도 올 수 있다.
if score>=80:
if score>=90:
print("A")
else:
print("B")
if-else문 중첩
if-else문의 else 부분에 또 다른 if 혹은 if-else 문이 올 수 있다. 줄여서 elif가 될 수 있음.
예시. 주차 요금을 계산하는 프로그램
기본 30분: 1200원
추가 15분 마다: 600원
1일 요금: 24000원
계산 과정:
-주차 시간을 분 단위로 입력받음.
-주차 시간을 1440분(24시간*60분)으로 나누어 일수를 계산
-나머지 시간은 분단위로 주차요금을 계산해서 더함.
-나머지 시간이 30분 이하면 기본 요금 1200원 부과
-나머지 시간이 30분을 초과한 시간에 대해서는 15분 마다 600원씩 추가
-600분 주차 요금은 24000원 이므로 600분 초과하면 하루 요금
import math
print("주차 시간 입력:")
val=int(input())
days=val//1440
min=val%1440
fee=days*24000
if min==0:
print("일 단위로 계산")
elif min>0 and min <=30:
fee+=1200
elif min<600:
fee+=1200+(min-30)//15*600
if (min-30)%15!=0:
fee+=600
else:
fee+=24000
print("일 단위로 계산")
print("주차요금:",fee,"원")
댓글