스터디/파이썬 스터디 강의자료

[1팀/지다인] 3차시 파이썬 스터디- 조건문

알 수 없는 사용자 2023. 3. 22. 19:48

참고 자료 - 데이터 과학을 위한 파이썬 프로그래밍

3차시_조건문_강의안.pdf
1.05MB
3차시_조건문_과제.pdf
0.22MB

  • w2 review
    • 변수 : 어떠한 값을 저장하는 장소
    • 메모리: 이러한 변수를 저장하는 공간
    • 메모리 주소: 변수의 저장 위치
    • 변수명 선언
      1. 다른 사람이 읽어도 이해할 수 있는 이름
        1. 프로그램은 혼자 만드는 것이 아닌 여럿이 함께 만드는 것이므로 직관적이고 의미가 담긴 단어로 만들어야 한다
      2. 파이썬은 대소문자를 구별한다
        1. professor 과 Professor은 다른 변수이다. 파이썬은 대소문자를 구별하기 때문에 반드시 기억하고 써야한다
        2. 대부분의 경우 소문자로 구성하는 것을 추천한다
      3. 단어와 단어 사이는 밑줄(_)로 이어 한 단어를 만든다
        1. 이러한 방식을 under score라고 한다
          1. under_score
          2. 주의 사항으로는 붙임표(-)를 사용하지 않는다
        2. 다른 언어에서는 camel case를 이용하기도 한다
          1. 단어와 단어의 첫 스펠링을 대문자로 사용하여 단어를 구분해준다
          2. ex) CamelCase
      4. 숫자를 사용할 수 있지만 변수명이 숫자로 시작하면 안된다
        1. 1professor 사용 불가 professor1 사용가능
      5. 예약어는 사용할 수 없다
        1. for, if, else 등 우리가 약속한 단어를 사용하면 파이썬은 오류가 난다
        2. 우리가 지정한 파일 이름도 마찬가지이다.
    • 변수명 선언 규칙
    • 기본 자료형
      • 정수형(integer type)데이터 선언할 때: data = 1 (따로 따옴표를 사용하지 않아도 정수로 인식한다)
      • 자연수를 포함해 0,-1,-2,1,2와 같이 값의 영역이 정수로 한정된 값을 뜻한다
      • 실수형(floating-point type)
      • 10.2, 7.2와 같이 소수점이 포함된 값을 말한다. 실제로 값이 정수형이라도 9.0으로 입력하면 인터프리터는 실수형으로 해석한다
      • 문자형(string type)(따옴표는 큰 따옴표, 작은 따옴표 상관없이 편한 걸 이용하면 되지만 주로 큰 따옴표를 이용한다)
      • 값이 문자로 출력되는 자료형이다. 파이썬에서는 보통 따옴표가 들어간 정보를 문자형 데이터라고 한다. 예를 들어 코드에서 print(a+b)와 print(”a+b”)는 매우 비슷해 보이지만 결과는 전혀 다르다. 후자의 코드에서 따옴표 안에 있는 a+b는 변수가 아니라 문자열로 인식하기 때문에 a+b라는 문자가 화면에 그대로 출력되는 것을 알 수 있다.
      • 불린형(boolean type)
        • 알아두면 쓸데있는 동적 타이핑이러한 동적 타이핑의 가장 큰 장점은 유연하기에 메모리 공간도 저장되는 크기에 따라 동적으로 할당받을 수 있다이제 실제로 타입을 확인해봅시다! 🤔 type()
        • int() a = int(7)
        • 동적 타이핑이란 변수의 메모리 공간을 확보하는 행위가 프로그램 실행 시점에서 발생하는 것을 뜻한다. 일반적으로 다른 언어에서는 변수의 타입을 미리 선언하지만 파이썬은 선언을 하지 않아도 인터프리터가 알아서 판단한다. 이렇게 프로그래머가 직접 판단하는 것이 아니라 인터프리터가 직접 판단하는 것을 동적 타이핑이라 한다.
      • 불린형은 논리형이라고도 하며 참 또는 거짓을 표현할 때 사용한다. 만약 값이 true 라면 참을 의미하며, 컴퓨터에서는 1을 뜻한다. 반대로 false라면 거짓을 의미하며, 컴퓨터에서는 0을 뜻한다.
    • 메모리의 크기는 변수의 자료형에 의해 결정된다.
    • 간단한 연산a += 1 → a= a+1 a-=1 → a = a-1
    • +,-,/, *, 증가연산자, 감소연산자
    • 자료형 변환
    • 정수 ↔ 문자, 실수 ↔ 문자 float(), int(), str(), type()
  • [ ] 저번 주 수업에서 몰랐던 부분 또는 과제할 때 이해 안 간 부분 질문

part2 파이썬 기초

chapter04 조건문과 반복문

학습 목표

  • 조건문의 개념과 if~else문, if-elif-else문에 대해 알아본다

01 조건문

우리가 프로그래밍을 만드는 것 = 어떤 일의 순서를 정하는 것

  • 어떤 기준으로 결정해야 하는가? → 조건 설정
  • 언제까지 해야하는가? → 반복 설정

조건문의 개념

조건문은 조건에 따라 특정 동작을 하도록 하는 프로그래밍 명령어이다.

e.g.) 앞 지하철과 간격이 10m 이하면, 속도를 10km이하로 낮춰라

e.g.) 사용자가 20세 이하면, vod를 재생하지 마라

e.g.) 스마트폰 잠금 해제 패턴이 5회 틀리면, 20초 동안 대기 상태로 만들어라

조건문을 구성하는 요소: 기준 + 명령

if_else문

조건문을 만들기 위해 사용하는 명령문

기본적인 틀

if 참과 거짓을 판단할 수 있는 조건문 :

명령1

else:

명령1

e.g.) A학생의 키 = 160cm

if A학생의 키가 130cm가 넘는다면:

이 놀이기구를 탈 수 없다고 말하기

else:

이 놀이기구를 탈 수 있다고 말하기

지켜야할 규칙

  1. If 뒤에 반드시 참거짓 판단이 가능한 조건문
  2. 조건문이 끝나면 반드시 콜론(:)
  3. 들여쓰기 사용하여 명령
  4. Else 뒤 콜론(:)

4-1 코드 작성

print("Tell me your age?")
my_age = int(input())
if my_age < 30:
  print("Welcome to the club")
else:
  print("Oh!No. You are not accepted.")

조건의 판단

비교연산자

  • 어떤 것이 큰지, 작은지, 그리고 같은지 비교하는 것
  • 결과 값은 참 또는 거짓

x = y

x = 4


알아두면 쓸모가 있는 문법 IS편

2주차 리스트에서 다뤘던 문법 is 입니다!

위에 비교 연산자에서 == 는 두 변수의 값이 같은지 확인하는 거라면

is는 두 변수의 메모리 주소가 같은지 다루는 문법입니다 🙂

예시를 같이 살펴 봅시다

a = 100
b = 100
a is b
a == b
a = 300
b = 300
a == b
a is b

<aside> 👩🏻‍💻 파이썬의 정수형 저장 방식의 특성때문!

  • 파이썬은 인터프리터(아나콘다)가 구동될 때, -5〰️256까지의 정수값을 특정 메모리 주소에 저장
    • 따라서 이 범위 내에 존재하는 정수값(int)는 True값이 나올 수 있는 것이다
    • 이 개념은 조금 어려울 수 있어 이런 게 있다 정도만 지금 알아두는 것정도로 충분하다 컴퓨터 시스템에 대한 이해를 한 뒤, 그때 다시 들으면 이해가 잘 될 것이다 </aside>

TRUE와 FALSE의 치환

1,2주차에서 언급했다시피 컴퓨터는 이진수(0,1)만 읽을 수 있음

  • True = 1
  • False = 2
if 1:
	print("True")
else:
	print("False")
print((3 > 5) < 10)

  • 이 코드는 쉽지 않습니다 저얼대 특히 초보자라면 답을 생각하기 어려워요!
  • 힌트: 3 > 5 의 참 거짓 판단 후 답을 내려보세요

논리연산자

a = 8
b = 5
a == 8 and b == 4
a > 7 or b > 7
not (a > 7)
  • 사실 논리연산자는 초등교육만 받아도 직관적으로 이해가 가능합니다.. 못했다면 …^^ 공부합시다

if-elif-else문

  • 조건이 여러가지인 if-else문이라 생각하기
    • 우리가 조건을 하나만 쓰는 일보다 조건을 여러 개 쓰는 경우가 훨씬 많음
    • 일상에서 생각하면 절대평가 점수도 90점 미만, 90점 이상으로 나뉘는 것이 아니라 세분화되어 점수대별로 점수를 받기 때문에 이진법적으로 조건 1개인 경우보다 조건이 여러 개일 때 많다!
  • e.g.) 절대평가 영어 점수
    • 90점 이상 100점 이하 1등급
    • 80점 이상 90점 미만 2등급
    • 70점 이상 80점 미만 3등급
    • 60점 이상 70점 미만 4등급
    • 50점 이상 60점 미만 5등급
    • 40점 이상 50점 미만 6등급
    • 30점 이상 40점 미만 7등급
    • 20점 이상 30점 미만 8등급
    • 0점 이상 20점 미만 9등급
  • 영어 점수를 이용하여 if-elif-else문을 같이 만들어 봅시다!
score = input("영어 점수를 입력하세요")
if 90 <= score <= 100:
	print("1등급")
elif 80 <= score < 90:
	print("2등급")
elif 70 <= score < 80:
	print("3등급")
elif 60 <= score < 70:
	print("4등급")
elif 50 <= score < 60:
	print("5등급")
elif 40 <= score < 50:
	print("6등급")
elif 30 <= score < 40:
	print("7등급")
elif 20 <= score < 30:
	print("8등급")
else:
	print("9등급")
    • 본인 편한 순서대로 써도 됩니다. 기준만 잘 고려한다면 전혀 문제되지 않습니다. 다만 , 기준이 겹친다면 순서를 반드시 고려해야 합니다. → 끝 범위를 지정하면 해결된다.의문점1) 왜 높은 점수 먼저 썼나요?미만 x 이하만 존재한다면 …
      • 60점 미만 f
      • 70점 이상 c
      • 80점 이상 b
      • 90점 이상 a
      f학점 먼저 쓴다면 아래 코드 결과와 같이 90점 학생이 c를 받을 수 있겠죠?
            •