if Python == 처음:

4/3 오후 수업은 제어문을 배워보는 시간을 가지게 되었습니다.
아무래도 C언어를 해본 경험이 있어서 아예 처음 프로그래밍을 배우는 사람보다 쉽다고 느낀 것 같습니다.

제어문

조건문 (if)

  • if는 C언어에서도 쓰이는 조건문으로 "만약 A가 B라면 X해줘"라는 형태로
    True, False로 결과가 나와야 제대로 된 답변을 들을 수 있습니다.
    참, 거짓으로 딱 떨어지게 결과를 받으려면 부등식이 확실하기에 연산자를 사용합니다.
    이를 비교 연산자라고 하며 종류는 다음과 같습니다.

    a = 1
    b = 10
    print(a > b)  # a는 b보다 크다.
    print(a < b)  # a는 b보다 작다.
    print(a == b) # a는 b와 같다.
    print(a != b) # a는 b와 같지 않다.
    print(a >= b) # a는 b보다 크거나 같다.
    print(a <= b) # a는 b보다 작거나 같다.

    False
    True
    False
    True
    False
    True

  • if문은 조건이 참, 거짓으로 판단할 수 있는 문장을 만드는 것이 가장 중요합니다.

    num = 5
    if num <= 5: #문장이 끝날때 ":" 잊지 말기!
       print("숫자가 5보다 작거나 같습니다.") #if 조건문이 True라면 처리해야 할 명령
    elif 5 < num <= 10:
       print("숫자가 10보다 작거나 같습니다.") #elif 조건문이 True라면 처리해야 할 명령
    else:
       print("숫자가 10보다 큽니다.") #위의 조건문이 전부 False라면 처리해야 할 명령

    숫자가 5보다 작거나 같습니다.

  • if문을 배운 후에 제가 가장 많이 실수한 것은 ":"를 붙이는 것입니다. 추가로 if조건문이 참일 때 처리해야 하는 명령문을 들여쓰지 않는다면 오류가 발생합니다.

    if True:
    	 print("if문을 쓸 때")
    	 print("들여쓰기를 ")
    	 	print("유의하자")  #if 이후 명령문의 들여쓰기가 같은 위치에 있어야 한다.

    File "", line 4
    print("유의하자")
    ^
    IndentationError: unexpected indent

  • 아래의 예시는 print("if문을 쓸 때")에서 if문이 종료되고 print("들여쓰기를 ")에서는 새로운 명령을 처리하는 것으로 인식한 것입니다. 이후 print("유의하자")는 if문이 없음에도 들여쓰기가 되어있어 인식하지 못하는 것입니다.

    if True:
    	print("if문을 쓸 때")
    print("들여쓰기를 ")   #if 이후 명령문의 들여쓰기가 같은 위치에 있어야 한다.
    	print("유의하자")  

    File "", line 4
    print("유의하자")
    ^
    IndentationError: unexpected indent

    반복문(while, for)

    while

  • while은 조건을 만족하면 아래의 명령을 수행하는 반복문으로 간단한 명령으로 무한 반복시킬수 있다는 것이 특징입니다.

    while True:
    	print("무한반복")

    무한반복
    무한반복
    무한반복
    무한반복
    .
    .

  • 위와 같이 while 옆에 조건이 참이라면 해당 명령문을 무한 반복 시킬수 있습니다.
    반복문의 경우 if와 조합하여 사용하는데 명령을 수행하는 도중 강제로 처음으로 돌리는 명령어 continue와 반복을 막는 명령어인 break가 있습니다.

    i = 0
    while True:
    	i += 1
    	if i<= 3: continue
      	if i== 4:
          print(f"{i}입니다.")
          break

    4입니다.

  • 이후에 나오는 for문에도 continue와 break는 사용할 수 있습니다.

for

  • for문은 while와 가장 큰 차이는 범위를 미리 정해서 시작하는 문장이 필수라는 것입니다.

    for i in range(2, 11, 2): # for이후 변수를 설정, in 뒤에 list를 붙여 범위를 설정한다.
    print(i)

    2
    4
    6
    8
    10

  • 아래는 수업 중 풀은 문제 중 하나입니다.

    # 1부터 100까지의 정수 중에서 3의 배수이면서 5의 배수인 정수의 합을 구하는 코드를 작성하세요.
    sum = 0
    for i in range(1, 101):   # 1~100까지 정수
      if (i % 3 == 0) & (i % 5 == 0): # 3의 배수 "이면서(&)" 5의 배수
        sum +=i # sum에 해당 숫자 더하기
        print(f"15의 배수 : {i}") 
    print(f'정답 : {sum}')

    15의 배수 : 15
    15의 배수 : 30
    15의 배수 : 45
    15의 배수 : 60
    15의 배수 : 75
    15의 배수 : 90
    정답 : 315

함수

  • 함수는 입력을 받으면 특정한 공식을 거쳐서 출력을 내보내는 것으로 이미 python에 내장된 내장함수, 특정한 명령어로 호출하여 사용할 수 있는 외장함수, 사용자가 특정한 조건을 정하여 만드는 함수가 있습니다.

내장함수(Built-in Function)

  • 특별히 호출하지 않아도 사용할 수 있는 함수로 대표적인 함수는 upper, lower등이 있습니다.

    a = 'PythoN 4/3~'
    b = a.upper() # 문자를 대문자로 바꾸기
    c = a.lower() # 문자를 소문자로 바꾸기
    print(a,b,c) 

    PythoN 4/3~ PYTHON 4/3~ python 4/3~

외장함수

  • 평소 python에는 없는 함수로 호출하는 방식으로 해당 함수를 사용할 수 있게 됩니다.

    time.localtime(time.time()) # 서버시간 호출

    NameError Traceback (most recent call last)
    in <cell line: 1>()
    ----> 1 time.localtime(time.time())
    NameError: name 'time' is not defined

  • 위의 함수는 time함수로 시간을 표기할 때 사용하는 함수입니다. 평소 python에는 없는 함수로 'import'를 사용해 함수를 호출하여 사용할 수 있습니다.

    import time # time 함수 호출
    time.localtime(time.time()) # 서버시간 호출

    time.struct_time(tm_year=2024, tm_mon=4, tm_mday=3, tm_hour=7, tm_min=14, tm_sec=11, tm_wday=2, tm_yday=94, tm_isdst=0)

함수 만들기

  • 내장, 외장 함수에 없고 계속 반복해서 사용할 문장들을 하나의 함수로 묶어서 사용할 수 있습니다.

    def my_name(name, age): # def 이후 함수의 이름(my_name)과 변수(name, age) 설정
      print(f"제 이름은 {name}, 나이는 {age} 입니다. ") # 해당 함수로 처리할 문장
    
      return name, age # 함수가 종료될 때 나오는 결과
    output = my_name("재성", 30) 
    print(output)

    제 이름은 재성, 나이는 30 입니다. # 함수로 처리한 내용
    ('재성', 30) # 함수의 결과

0개의 댓글