[Python] 파이썬 제어문과 함수 이해하기 - for, while, def, 연산자

Jaeyoung·2022년 10월 18일
0

🦁멋사 ai 7기 TIL

목록 보기
7/7

목표 설정

  • 멋쟁이사자 AI 스쿨 2일차(220920) 학습 내용 정리하기
  • 파이썬 프로그램의 구조를 만드는 제어문(조건문, 반복문)과 함수 이해하기

조건문

if문은 조건을 판단하여 해당 조건에 맞는 상황을 수행하는데 쓰는 것으로, 기본 구조는 if와 else로 구성됨

  • 들여쓰기 : 4개의 공백 or Tab
  • if 조건문 뒤에 콜론(:) 사용하기
  • elif : 여러번 사용할 수 있다. / 조건문을 넣어야 한다.
  • else : 한번만 사용할 수 있다. / 조건문을 넣지 않는다.
number = int(input("숫자를 입력하세요 : "))
if number % 2 == 0:
    print("입력하신 숫자는 짝수입니다.")
else:
    print("입력하신 숫자는 홀수입니다.")

조건 2개 이상일 때

  • 해결 방법 : if-elif-else 사용 (elif는 1개 이상 사용 가능) / and, or, not 연산자 사용
# 컴퓨터와 하는 가위바위보 게임
from random import choice

auto = choice(['가위', '바위', '보'])
user = input("가위, 바위, 보 : ")

if user in ['가위', '바위', '보']:
    if user == auto:
        print(f"user : {user}, computer : {auto} 으로 비겼습니다.")
    elif (user == '가위' and auto == '보') or (user == '바위' and auto == '가위') or (user == '보' and auto == '바위'):
        print(f"user : {user}, computer : {auto} 으로 이겼습니다.")
    else:
        print(f"user : {user}, computer : {auto} 으로 졌습니다.")
else:
    print("옳지않은 값을 입력하셨습니다.")

pass 문

  • 조건문에서 아무일도 일어나지 않게 설정할 때 사용
# 파티 참석 명단에 이미 등록되어있으면 아무것도 출력되지 않음
party = ["Jane", "Michael", "Rose", "Justin", "Jimmy"]
name = input("파티에 참석하신다면 이름을 입력하세요 : ")

if name in party:
    pass
else:
    print(f"{name}, 파티 참석 명단에 등록되었습니다.")

반복문

반복문은 반복해서 문장을 수행해야 할 경우 사용한다.

  • for문 : 반복할 횟수를 알 때 사용
  • while문 : 반복할 횟수를 모를 때 사용 ( 조건문이 참인 동안 순회 )
  • range(start, end, step), range(len()) 나 index와 요소를 함께 사용해야 되는 경우 enumerate() 사용하기

for 문

all_kr = "가나다라마바사아자차카타파하"
kr_list = []

for kr in all_kr:
	kr_list.append(kr)
    
kr_list # ['가', '나', '다', '라', '마', '바', '사', '아', '자', '차', '카', '타', '파', '하']

while 문

num = int(input("숫자를 입력해 주세요 : "))

while num != 0:
    print(num)
    num -= 1

함수

똑같은 내용을 반복해서 작성할 때, 하나의 함수로 정의해두면 편리하게 사용할 수 있음
예를 들어, 덧셈, 뺄셈, 곱셈, 나눗셈 등의 연산 기능이 가능한 함수를 만들어 두면 함수 한줄로 계산 가능

함수에는 매개변수와 전달인자(인수)가 있다.
- keywords 인자 : ** 두 개 (딕셔너리 형태로 전달)
- arguments 인자 : * 한 개 (리스트나 튜플 형태로 전달)
** 함수에서 인자 등 정보 찾을 때
? : Docstring
?? : Source
예) range? add? 함수??
# 계산기 기능을 하는 함수
def calculate(num1, num2, sign):
	if sign == '+':
    	return num1 + num2
    elif sign == '-':
    	return num1 - num2
    elif sign == '*':
    	return num1 * num2
    elif sign == '/':
    	return num1 / num2
    else:
    	return "지원하지 않는 기능입니다."
calculate(3, 10, '*')
출력값 : 30
  • 위 코드에서 num1, num2, sign 은 함수에서 매개변수이며 함수를 요청할 때 입력한 3, 10, '*'은 변수에 대한 인수이다.

연산자

연산자설명
x or yx와 y 둘 중에 하나만 참이어도 참
x and yx와 y 모두 참이어야 참
not xx가 거짓이면 참

in과 not in설명
x in (리스트/튜플/문자열)자료형 안에 x가 있으면 참
x not in (리스트/튜플/문자열)자료형 안에 x가 없으면 참

참고문헌

점프 투 파이썬 : 03장 프로그램의 구조를 쌓는다! 제어문

profile
데이터 분린이:)

0개의 댓글