Python

Python - 4. 제어문(조건문과 반복문)

꿀먹는매미 2021. 3. 5. 12:47

제어문 (p.71~92)

 

  • 조건문
    • if문

if 조건 :

          내용

else :

          내용

# if01.py
# 제어문
# 비교연산자 / 논리연산자  => 조건

money = True

if money == True:
    print( '택시' )
else:
    print( '도보' )

 

 

선택적 if문 ( if = elif = else 구문 )

if 조건 :

           내용

elif 조건 :

           내용

else :

           내용

# if02.py
hakjum = 80

print( '시작' )
if hakjum >= 90 :
    print( 'A' )
else :
    if hakjum >= 80 :
        print( 'B' )
    else :
        if hakjum >= 70 :
            print( 'C' )
        else :
            if hakjum >= 60 :
                print( 'D' )
            else :
                print( 'F' )
print( '끝' )

# 선택적 if문
print( '시작' )
if hakjum >= 90 :
    print( 'A' )
elif hakjum >= 80 :
    print( 'B' )
elif hakjum >= 70 :
    print( 'C' )
elif hakjum >= 60 :
    print( 'D' )
else :
    print( 'F' )
print( '끝' )

 

 

if 조건식 표현

조건식에서 hakjum >= 80 && hakjum < 90 대신

80 <= hakjum < 90 으로 표현이 가능함

# if03.py
hakjum = 70

print( '시작' )
if hakjum >= 90 :
    print( 'A' )
elif 80 <= hakjum < 90 :
    print( 'B' )
elif 70 <= hakjum < 80 :
    print( 'C' )
elif 60 <= hakjum < 70 :
    print( 'D' )
else :
    print( 'F' )
print( '끝' )

 

 

  • 반복문
    • for문

for 변수 in ( 집합자료형 ) :

            내용

for 변수, 변수 .. in ( 리스트(튜플) ) :

            내용

# for01.py
lists1 = [ 'one', 'two', 'three' ]
for list in lists1:
    print( list )
    
lists2 = 'Hello'
for list in lists2:
    print( list )
     
lists3 = [ (1, 2), (3, 4), (4, 5) ]
for list in lists3:
    print( list )
for ( first, last ) in lists3:
    print( first, last )

# iterator 객체 사용하기
lists4 = [ 10, 20, 30 ]
iterator = iter(lists4)
for i in iterator:
    print(i)

# 구구단 출력 (1, 2단)
for n in [1, 2]:
    print( "-- {0} 단 --".format(n) )
    for i in [1, 2, 3, 4, 5, 6, 7, 8, 9]:
        print( "{0} * {1} = {2}".format( n, i, n * i ) )

 

range() - 수열의 생성

enumerate() - 리스트 항목과 인덱스 값을 동시에 얻기

 

for 변수 in range( 시작값, 끝값, 증가값 ) :

           내용

# for02.py
print( range(5) )
print( range(0, 5) )

# 0~5에서 2씩 증가되는 숫자 리스트
print( list( range( 0, 5, 2 ) ) )

for i in range(0, 5):
    #print( i )
    print( i, end=' ' )

# 1부터 10까지의 합 ( += : python에는 없음 )
print( '\n1부터 10까지의  합 구하기' )
add = 0
for i in range(1, 11):
    add = add + i
print( '결과:', add )

# 리스트 항목과 인덱스값 동시에 얻기 (enumerate() )
L = [ 100, 15.5, "Apple" ]
for i in enumerate(L):
    print(i)

# 인덱스의 시작점을 지정
for i, v in enumerate(L, 101):
    print(i, v)

 

 

 

 

리스트 내포 - 리스트 안에 for 포함

# for03.py
lists = [ 1, 2, 3, 4 ]

# 리스트 내장(리스트 내포)
# lists 값을 가진  list에서 각 값에 *3을 한 list를 result라 선언
result = [ list * 3 for list in lists ]
print( result )

 

 

  • while
# while01.py
treeHit = 0
while treeHit <= 10 :
    # treeHit += treeHit
    print( '나무를 %d번 찍었습니다.' % treeHit )
    if treeHit == 10 :
        print( '나무가 넘어갑니다.' )
    treeHit = treeHit + 1

 

 

반복문활용 구구단 만들기

# gugudan01.py
# 구구단 출력 
for dan in range( 1, 10 ) :
    for i in range( 1, 10 ) :
        sum = dan * i
        print( dan, 'X', i, '=', sum, end='\t')
    print( '' )