2일차 - python 조건문과 반복문

python 조건문

if 문의 종류

if문의 세 가지

 

"""
if문의 동작 원리
"""

x = int(input("정수를 입력하세요: "))

if x > 0:
    print("입력된 수는 양수입니다.")
    print("입력된 수는 양수입니다.")
    
 # 출력: 입력된 수는 양수입니다.
 #       입력된 수는 양수입니다.

 

 

 

비교 연산자와 논리 연산자

python의 연산자

a = 10
b = 20

a == b
# 출력: False

a != b 
# 출력: True

a > b 
# 출력: False

 

 

 

+ 논리 연산자

논리 연산자

"""
(조건1) score1이 80보다 크면서 (조건2) score2가 80보다 클 때 - and
"""

score1 = 75
score2 = 90
score1 >= 80 and score2 >= 80
# 출력: False

score1 = 85
score2 = 95
score1 >= 80 and score2 >= 80
# 출력: True
"""
not 조건
"""

x = 25

x % 2
# 출력: 1

x % 2 == 0
# 출력: False

not x % 2 == 0
# 출력: True

not 조건은 값을 반대로 출력시킨다.

 

x % 2 == 0 은 False지만

not 조건을 주면 x % 2 == 0 은 True이다.


연산자 사용 프로그램

"""
나이를 입력 받아 경로우대(65세 이상)인 경우 공원 입장료를 무료로 하는 프로그램
"""

age = int(input("나이는?"))

free_age = 65
ticket = 2000

if age >= free_age :
    ticket = 0

print("나이: %d세" % age)
print("입장료: %d원" % ticket)

# 출력: 나이는? 65
#	나이: 65세
#	입장료: 0원
"""
정수를 입력받아 양의 정수가 3의 배수인지 4의 배수인지 판별하는 프로그램
"""

num = int(input("양의 정수를 입력하세요."))
result = "3의 배수도 4의 배수도 아니다."

if num % 3 == 0:
    result = "3의 배수이다."
if num % 4 == 0:
    result = "4의 배수이다."
if num % 3 == 0 and num % 4 == 0:
    result = "3의 배수이면서 4의 배수이다."

print("%d은(는) %s" % (num, result))

# 출력: 양의 정수를 입력하세요.12
#	12은(는) 3의 배수이면서 4의 배수이다.
"""
월을 입력 받아 계절을 판별하는 프로그램
"""

month = int(input("월을 숫자로 입력하세요: "))

if month == 3 or month == 4 or month == 5:
    print("%d는 봄입니다." % month)

if month == 6 or month == 7 or month == 8:
    print("%d는 여름입니다." % month)

if month == 9 or month == 10 or month == 11:
    print("%d는 겨울입니다." % month)

if month == 12 or month == 1 or month == 2:
    print("%d는 겨울입니다." % month)

 

 

if ~ else 프로그램

"""
필기, 실기 점수를 입력받아 자격증 시험의 합격과 불합격을 판정하는 프로그램
합격 조건: 필기 08점 실기 80점
단, if-else 구문 사용
"""

pilgi = int(input("필기시험 점수는?"))
silgi = int(input("실기시험 점수는?"))

if pilgi >= 80 and silgi >= 80 :
    result = "합격"
else:
    result = "불합격"

print(" - 필기시험 점수: %d" % pilgi)
print(" - 실기시험 점수: %d" % silgi)
print(" - 판정: %s" % result)

 

 

if ~ elif ~ else 프로그램

"""
점수를 입력받아 등급(점수에 해당되는 학점 A, B, C, D, F) 판정하는 프로그램
"""

score = int(input("점수는? "))

if score >= 90:
    grade = "A"
elif score >= 80:
    grade = "B"
elif score >= 70:
    grade = "C"
elif score >= 60:
    grade = "D"
else:
    grade = "F"

print("등급: %s"% grade)

python 반복문

반복문은 한 작업을 여러번 반복하고 싶을 때 사용!

# 인사 5번 출력하기
print("안녕하세요!")
print("안녕하세요!")
print("안녕하세요!")
print("안녕하세요!")
print("안녕하세요!")
print()

안녕하세요를 5번 출력하고 싶을 때 하나씩 출력을 하게 되면 시간이 오래 걸리고 가독성이 떨어짐.

파이썬에는 for문을 통해 반복하고 싶은 내용을 처리 가능!

 

 

 

반복문 for문

# 인사 5번 출력하기 -> 반복문을 사용
for x in range(5):
    print("안녕하세요!")
"""
1~10 정수의 합계
"""
sum = 0

for x in range(1, 11):
    sum = sum + x

print("1~10까지 정수의 합계는: %d" % sum)

range() 함수는 0부터 시작함.

1부터 시작하고 싶다면 range() 함수에 시작할 수를 같이 적어두기!

 

 

 

"""
range() 함수
"""

# 0~9 -> 10번 출력 -> 시작 위치를 생략 가능
for i in range(10):
    print(i, end=" ")

print()
# end는 출력할 때 줄바꿈을 없애준다.

# 1~10 -> 10번 출력 -> 시작을 1부터 시작하려면 꼭 시작위치 명시
for i in range(1, 11): # range(1, 11, 1)
    print(i, end= " ")

print()

#1~10 2씩 증가해서 출력 1, 3, 5, 7, 9
for i in range(1, 11, 2): # 시작, 종료, 증가수
    print(i, end = " ")

print()

# 20에서 1까지 -2씩 감소
for i in range(1, 11, -1):
    print(i, end = " ")

 

range( start, stop, step )

 

 

 

* 문자열 for문 출력

"""
영어 문장을 세로로 한 자씩 출력하기
"""

word = input("영어 문장을 입력하세요: ")

for x in word:
    print(x)

파이썬은 특정 문자열도 for문으로 문자 하나씩 출력할 수 있음!

 

 

"""
전화번호에서 하이픈(-) 삭제하기
"""

phone = input("하이픈(-)을 포함한 휴대폰 번호를 입력하세요: ")

for x in phone:
    if x != "-":
        print("%s" % x, end = "")

 

 

반복문 while

특정 조건이 만족할 때까지 반복!

for문은 범위를 지정하지만 범위를 지정하지 않고 무한으로 반복하기 위해서는 while!

 

"""
1~10 합계 구하기
"""

sum = 0
i = 1

while i <= 10:
    sum = sum + i
    print("i의 값 : %d => 합계: %d" % (i, sum))

    i = i + 1 # while문 탈출 코드

 

 

 

+ break문

while문 중 특정 조건일 때 while문을 벗어날 수 있는 방법!

"""
500 ~ 600까지 정수의 5의 배수의 합계를 구하는 프로그램
"""

sum = 0
i = 500

while i <= 600:
    if i % 5 == 0:
        sum = sum + i

    if i == 555:
        break

    i = i + 1

print("5의 배수 합계: %d" % sum)

break문을 사용하면 해당 조건일 때 while문을 벗어남.

ex) i가 555일 때 while문을 탈출함.

 

"""
일단 시작하고 반복문 안에서 조건이 만족하면 벗어나기
"""

sum = 0
i = 0

while True :
    if i % 5 == 0:
        sum = sum + i

    if i == 555:
        break

    i = i + 1

print("5의 배수 합계: %d" % sum)

C에서는 do ~ while문 / 파이썬은 while True: 로 해결!

 


무한반복을 활용한 성적 프로그램

"""
성적을 입력받아 등급을 판정하는 프로그램
(수: 90점 이상, 우: 80점 이상, 미: 70점 이상, 양: 60점 이상, 가: 60점 미만)

조건: 'q'를 입력하면 프로그램이 종료됨.
"""

while True:
    score = int(input("성적을 입력하세요 : "))

    if score >= 90:
        result = "수"
    elif score >= 80:
        result = "우"
    elif score >= 70:
        result = "미"
    elif score >= 60:
        result = "양"
    else:
        result = "가"

    print("등급: %s" % result)
    exit = input("계속하시겠습니까? (중단: q, 계속: y)")

    if exit == "q":
        print("프로그램을 종료합니다.")
        break

무한반복을 사용하게 되면 break문 조건이 나오기 전까지는 무한반복!

break문을 꼭 넣어주어야 함.

댓글