Python

[Python][Daily Study] 함수, if문, for문

breadz 2021. 7. 16. 01:06

<Daily Study>

함수, if문, for문에 대해 알아보려고 합니다.

 

1. 함수

함수(function)는 하나의 특정한 목적의 작업을 수행하기 위해 독립적으로 구성된 프로그램 코드의 집합입니다.

def 함수이름(파라미터)   #함수 정의
    <수행될 문장>
    <수행될 문장>
    
함수이름(파라미터)       #함수 출력, 구현

아래 예제에서 정의한 sum()함수는 a와 b의 두 개의 파라미터를 받아서, a+b값을 반환하는 함수입니다.

def sum(a,b):
    return a+b
    
a=1
b=2
c=sum(a,b)
print(c)


*파라미터는 해당 함수는 상황에 따라 여러 수의 매개변수를 전달받을 수 있다는 의미이다.

def add_mul(select, *inps):
    if select == 'add':
        re = 0
        for i in inps:
            re=re+i
    elif select == 'mul':
        re = 1
        for i in inps:
            re=re*i
    return re
    
result1 = add_mul('add', 1,2,3,4,5)
print(result1)                      # 'add' 이므로 15가 출력됩니다
result2 = add_mul('mul', 1,2,3,4,5)
print(result2)                      # 'mul' 이므로 120이 출력됩니다

 

 


2. if문

if문은 조건이 입력값에 참이면 참일 때의 실행 결과값을 출력하고, 아니면 다른 값을 출력합니다.

if문에서 주의해야 할 것은 들여쓰기(indentation)입니다. 이러한 들여쓰기는 탭(tab) 또는 스페이스바(spacebar)를 사용하여 표현합니다.

if / else 문의 맨 끝에는 콜론(:)을 기재해야 합니다.

※ if / else문에는 참과 거짓을 판단하는 요소가 필요합니다. 자료형별로 다음과 같습니다.

자료형 참의 예제 거짓의 예제
숫자 0이 아닌 모든 수 0
문자열 "xyz" ""
리스트 [1,2,3] []
튜플 (1,2,3) ()
딕셔너리 {1,2,3} {}

※ 파이썬에서 사용할 수 있는 비교 연산자는 다음과 같습니다.

비교 연산자 설명
x < y x가 y보다 작다.
x > y x가 y보다 크다.
x == y x와 y가 같다.
x != y x와 y가 같지 않다.
x <= y x가 y보다 작거나 같다.
x >= y x가 y보다 크거나 같다.

x in s / x not in s

in 연산자와 not in 연산자는 파이썬에서만 사용할 수 있는 독특한 조건문입니다.

in 키워드는 변수 s에 x 값이 포함되어 있다면 True를 반환하고, 포함되어 있지 않다면 False를 반환합니다.

반대로 not in 키워드는 변수 s에 x 값이 포함되어 있지 않다면 True를 반환하고, 포함되어 있다면 False를 반환합니다.

이때 변수 s의 자료형은 리스트, 튜플이나 문자열이 올 수 있습니다.


아래 예제는 if 문을 사용한 점수대별 등급을 나누는 학점 산출기를 작성해보려고 합니다.

100 ~ 90 이상 A
90 미만 ~ 80 이상 B
80 미만 ~ 70 이상 C
70 미만 ~ 60 이상 D
60 미만 E
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('학점은', grade,' 입니다')

 

 


3. for 문

for i in range(9):
    print(i)

위의 예제에서 첫번째 루프에서는 0부터 8까지의 숫자중 첫번째 숫자인 0이 변수 i 에 대입되고 print(i)가 실행됩니다.

그리고나서 두번째 루프에서는 두번째 숫자인 1이 변수 i에 대입되고 print(i)가 실행됩니다.

이를 마지막 숫자인 8까지 반복합니다.

파이썬은 항상 0부터 시작하므로, 0부터 카운팅했을때 9번째인 숫자 8까지 반복합니다.


for i in range(5):
    print('hi')

위의 예제에서는 0부터 4까지 숫자가 다섯번 변수 i에 대입되는 동안 'hi'라는 문자를 출력하게 됩니다.


for data in range(9):
    print(data, ' ' , end='')

위와 같이 print안에 end=''를 적으면 입력값을 가로로 출력할 수 있습니다.

print의 옵션 설명
end = '' 개행이 되는 것을 막고 싶을때 사용합니다 -> 가로로 출력됩니다
sep = '' 콤마로 구분된 출력값들 사이사이에 문자열을 집어넣고 싶을때 사용합니다