[Python] 코딩테스트를 위한 파이썬 문법(3) 반복문 , 함수

jinjoo-jung·2023년 7월 22일
0

CodingTest

목록 보기
2/9

반복문

While문

  • 조건문이 참일 때에 한해서, 반복적으로 코드가 수행된다.
  • 무한 루프가 발생하지 않도록 주의하자.
i =1
result =0

# i가 9보다 작거나 갈을 때 아래 코드를 반복적으로 실행
while i <=9 : 
    if i % 2 == 1: 
        retult +=1
    i+=1
print(result)

출력 : 25

for문

  • 반복적으로 for문 이용가능
  • 리스트를 사용하는데 대표적인 for문의 구조는 in 뒤에 오는 데이터에 포함되어 있는 모든 원소를 첫 번째 인덱스부터 차례대로 하나씩 방문한다. in 뒤에 오는 데이터로는 리스트, 튜플, 문자열 등이 사용될 수 있다.
for 변수 in 리스트:
    실행할 소스코드
result = 0

# i는 1부터 9까지의 모든 값을 순회
for i in range(1,10):
    result =+i
    
print(result)

출력: 45
  • for문에서 수를 차례대로 나열할 때는 range()를 주로 쓰는데 range(시작 값, 끝 값+1)형태

  • range()의 값으로 하나의 값만을 넣으면, 자동으로 시작 값은 0이 된다.

  • 주로 리스트나 튜플 데이터의 모든 원소를 첫 번째 인덱스부터 방문해야 할 때 이 방법 사용

  • 리스트의 인덱스는 0부터 시작하기 때문

  • 반복문 안에서 continue를 만나면 프로그램의 흐름은 반목문의 처음으로 돌아간다.

  • 반복문은 얼마든지 중첩해서 사용가능(예시 : 구구단)

for i in range(2,10):
    for j in range(1,10):
        print(i ,"X", j "=", i*j)
    prnt()

함수

  • 동일한 알고리즘을 반복적으로 수행해야 할 때 함수는 중요하게 사용
  • 파이썬에서 함수를 작성할 때 함수 내부에서 사용되는 변수의 값을 전달받기 위해 매개변수를 정의할 수 있다. 이후에 함수에서 어떠한 값을 반환하고자 하 ㄹ때는 return을 이용한다. 이때 함수에서 매개변수나 return문은 존재하지 않을 수도 있다.
def 함수명(매개변수): 
    실행할 소스코드
    return 반환 값
def add(a,b):
    return a +b

print(add(3,7)) //10

return문 없이 작성

def add(a,b):
    print('함수의 결과:', a + b)
    
add(3,7) //   함수의 결과:10
  • 함수를 호출하는 과정에서 다음과 같이 인자를 넘겨줄 때, 파라미터의 변수를 직접 지정해서 값을 넣을 수 있다. 예를 들어 함수 처리 과정에서 매개변수로 a,b가 사용될 때, 함수를 호출하는 라인에서 인자 a,b를 지칭해서 각각 값을 넣을 수 있다. 이 경우, 매개변수의 순서가 달라도 상관없다는 점이 특징이다.
def add(a,b):
    print('함수의 결과:' , a + b)
    
add( b = 3, a = 7) 

global 키워드

  • 함수 안에서 함수 밖의 변수 데이터를 변경해야 하는 경우가 있다. 이때는 함수에서 global키워드를 이용하면 된다. global키워드로 변수를 지정하면 해당 함수에서는 지역 변수를 만들지 않고, 함수 바깥에 선언된 변수를 바로 참조하게 된다.
  • 아래 예시에서는 a 라는 변수를 함수 안에서도 동일하게 접근하여 값을 변경하고 있다.
a = 0

def func():
    global a
    a +=1
    
for i in range(10):
    func()

람다 표현식

  • 함수를 매우 간단하게 작성 가능
  • 특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있다는 점이 특징
  • ex) 앞서 정의했던 add() 함수와 같은 간단한 함수를 정의해야 할 때
def add(a,b):
    return a+b
    
# 일반적인 add() 메서드 사용
print(add(3,7)

# 람다 표현식으로 구현한 add() 메서드
print((lambda a, b: a+b)(3,7))
profile
개인 개발 공부, 정리용 🔗

0개의 댓글

관련 채용 정보