본문 바로가기

파이썬(PYTHON)/개념정리
[파이썬(Python)] 조건문, 반복문

#의사 결정=비교문=분기문 : 참인지 거짓인지 판단하여 코드블록을 수행할지 말지 결정함.
'''
1. if문
2. if, else문
3. if, elif 문
'''

==========================================================================
==============

if 문

'''
IF문
o이 아니거나 NULL이 아니면 TRUE

o 이거나 NULL이면 FALSE로 처리함.
IF문과 IF ELSE문이 있음.
IF문 안에 IF문이 있을 수 있음.

- 문법
If 표현식:
     수행코드
'''

a = 6

if ( a > 5) :
    print("a는 5보다 큽니다.") 
if ( a > 10 ) :
    print("는 10보다 큽니다.") #출력x
#if문 안에 또다시 if문 사용 가능
a = 10
if (a > 3) :
    if (a > 7):
        print("ok")


==========================================================================
==============

if...else문

'''
IF.. ELSE문

ELSE문 단독으로 사용 불가하며 if문에 종속적으로 사용됨.

- 문법
If 표현식:
     수행코드

Else:
     수행코드
'''

b = 10

if (b > 5) :
    print("b는 5보다 큽니다.")
else :
    print("b는 5보다 작습니다.")


==========================================================================
==============

if...elif문

'''
if... elif 문

elif로 여러 개의 조건을 쓸 수 있다.
여러 개 만족해도 제일 처음 만족하는 것 하나 출력
'''

c = 10

if (c > 10) :
    print("c는 10보다 큽니다.")
elif ( c > 7 ) :
    print("c는 7보다 큽니다.")
elif ( c > 5 ) :
     print("c는 5보다 큽니다.")
else :
    print("else문입니다.\n\n")


==========================================================================
==============

'''
점수가 90점 이상이면 A학점
       90점 미만, 80점 이상이면 B학점
       80점 미만, 70점 이상이면 C학점
나머지는 F학점 출력
'''

score = 70 

if (score >= 90) :
    print("A학점입니다.\n")
elif ( score >= 80) :
    print ("B학점입니다.\n")
elif ( score >= 70) :
    print ("C학점입니다.\n")
else :
    print ("F학점입니다. ㅠㅠ\n")



# if문만 이용해서

if (score >= 90) :
    print("A학점입니다.\n")

if (score >= 80 and score < 90) :
    print("B학점입니다.\n")

if (score >= 70 and score < 80) :
    print("C학점입니다.\n")

if (score < 70) :
    print("F학점입니다.ㅠㅠ\n")


#if문 속 if문

if (score >= 70):
    print("C학점")

    if (score >= 80):
    	print("B학점")

        if (score >= 90):
        	print("A학점")
else :
    print("F학점")


==========================================================================
==============

#생년월일을 변수에 입력하여 미성년자인지 아닌지 출력 - 19살 이하면 미성년자, 19살 초과면 성인

birth = 2012
age = 2022 - birth

print(age)

if(age <=19 ) :
    print("미성년자입니다.")
else :
    print("성인입니다.")


==========================================================================
==============

#BMI 측정결과 출력

height = 162
weight = 48
BMI = weight / ((height/100)**2)

if (BMI >= 30) :
    print("비만입니다.\n")
elif (BMI >= 25) :
    print("과체중입니다.\n")
elif (BMI >= 20) :
    print("정상입니다.\n")
else :
    print("저체중입니다.\n")


==========================================================================
==============

for문

'''
반복문 - for 문 : 반복할 횟수가 정해져 있을 경우

- 문법
for 반복변수 in 순차항목:
    수행코드
'''

#range() 내장함수 : 숫자 목록을 만들어 준다.

a = range(10) # 0~9 : 10개
print(a)

b = range(3, 8) # 3~7 : 5개
print( list(b) )

c = range(0, 10, 2) #0~9까지, 2씩 뛰어세며 : 5개
print( list(c),"\n" )


for i in range(5) :
    print(i)
print("\n")
    
    

for i in [1, 2, 'a', 3.14, 10] :
    print(i)
print("\n")

for i in "hello" :
    print(i)
print("\n")

for i in (1, 2, 3, 'b') :
    print(i)
print("\n")


a = ["one", "two", "three"]

for i in a :
    print(i)
print("\n")

for i in range( len(a) ) :
    print(a[i])
print("\n")


==========================================================================
==============

while

반복문 - while 문 : 특정 조건이 참일 때까지 반복

#화면에 안녕하세요를 3번 출력하세요.
count = 0

while ( count < 3 ) :
    print("안녕하세요")
    count = count + 1

print("종료\n")


==========================================================================
==============

주민번호-성별

'''
#주민번호가 주어졌을 때 남자인지 여자인지 알아내는 방법..

1 : 90년대생 남자
2 : 90년대생 여자
3 : 00년대생 남자
4 : 00년대생 여자
'''

ssn = "980117-2345678"


'''
if (ssn[7] == '1') :
    print("90년대생 남자입니다.\n")

if (ssn[7] == '2') :
    print("90년대생 여자입니다.\n")

if (ssn[7] == '3') :
    print("00년대생 남자입니다.\n")

if (ssn[7] == '4') :
    print("00년대생 여자입니다.\n")
'''


'''
if (ssn[7] == '1') :
    print("90년대생 남자입니다.\n")

elif (ssn[7] == '2') :
    print("90년대생 여자입니다.\n")

elif (ssn[7] == '3') :
    print("00년대생 남자입니다.\n")

elif (ssn[7] == '4') :
    print("00년대생 여자입니다.\n")
'''

if ( int(ssn[7]) % 2 == 0 ) :
    print("여자입니다.\n")
else :
    print("남자입니다.\n")


==========================================================================
==============

 

다중반복문

#다중 반복문: 반복문 안에 반복문이 있는 구조

print("hello", end=', ')
print("python", end=',')

 

#구구단
for i in range(2,10) :  #단수(2단, 3단 ...)
    for j in range(1,10) :  #곱하는 수
        print(i, "x", j, "=", i*j, end='\n')
    print("\n")


**이스케이프 문자 : 눈에 안 보이는 문자
\n:줄바꿈, \t:탭, \s:스페이스, \r:캐리지리턴-커서를 맨 앞으로 옮김, \" : 문장 내 따옴표 , \\ : 문장 내에서 \ 역할, /b:백스페이스(한 글자 삭제)

==========================================================================
==============

원하는 조건 나올 때까지 반복(무한 루프)

** True, False를 변수에 넣다보니 완전히 이해하기까지 시간이 꽤 걸렸다.

==========================================================================
==============

break

#break 문: 반복의 종료

for i in range(0,10,2) :
    
    if (i > 6) :
        break
    
    print(i, end=' ')
for i in range(5) :

    if ( i > 3) :
        break
    
    print(i, end=' ')
for i in range(5) :

    if ( i > 3 ) :
        print(i, end=' ')


==========================================================================
==============

continue

#continue 구문 : 반복의 단계를 건너뜀

for i in range(0,10,2) :
    if (i == 6) :
        continue

    print(i, end=' ')  # 6 건너뜀!!

#for...else 문

- for문이 정상적으로 완료되었다면 else: 부분을 실행한다.

- 만약 break로 중간에 멈춘다면 else: 부분을 실행하지 않는다.

else 실행x

for i in range(1, 11):
    print(i)
    if i  == 5 :
        break
else:
    print(11)

else문 실행o

for i in range(1, 11):
    print(i)
    if i > 15 :
        break
else:
    print(11)