[혼공파8기] Week 2_Chapter 02(02-3) ~ 03

너스레:)·2022년 7월 17일
0

python

목록 보기
2/6

기본 미션

p.137 3번 문제 풀고 본인이 태어난 해와 띠를 출력하는 결과값 화면 인증샷

인증샷

코드

# 사용자에게 태어난 연도를 입력받아 띠를 출력하는 프로그램

str_input = input("태어난 해를 입력해주세요 > ")
birth_year = int(str_input) % 12

if birth_year == 0:
    print("원숭이 띠입니다.")
elif birth_year == 1:
    print("닭 띠입니다.")
elif birth_year == 2:
    print("개 띠입니다.")
elif birth_year == 3:
    print("돼지 띠입니다.")
elif birth_year == 4:
    print("쥐 띠입니다.")
elif birth_year == 5:
    print("소 띠입니다.")
elif birth_year == 6:
    print("범 띠입니다.")
elif birth_year == 7:
    print("토끼 띠입니다.")
elif birth_year == 8:
    print("용 띠입니다.")
elif birth_year == 9:
    print("뱀 띠입니다.")
elif birth_year == 10:
    print("말 띠입니다.")
else:
    print("양 띠입니다.")


'''
태어난 해를 입력해주세요 > 2000
용 띠입니다.
'''

추가 미션

else 구문과 elif 구문 정리한 내용 포스팅하기

표로 직접 정리해봤다,,,!

새로 알게 된 사실...!

파이썬과 switch case문

위의 기본 미션을 하면서 불현듯 떠오른 개념이 있었는데,
바로 "switch case문"이다!
C언어 배울 때 분명 저런 코드 흐름은 if ~ else if ~ 문보다는 switch case문을 쓰는 게 더 깔끔했던 걸로 기억한다.

그래서 위의 예제를 switch case문으로도 풀어보려 했는데.....

잉???????? VS code에 자동완성이라고 해야 하나?? 왜 그게 안 뜨지....?
하고 알아보니까

파이썬에는 switch case문이 "없다"!!!!!!!!!!

세상에.... 흥미롭지 않습니까..

아 그리고 또

파이썬 조건문의 범위

C를 배웠던 사람들은 알텐데, C에서는 범위(부등식)을 표현할 때,
만약 3 <= x < 8을 표현하고 싶다면 3 <= x && x < 8로,
굳이굳이 "&&"로 범위 각각을 연결해줬어야 했다.

하지만 파이썬은?
그냥 3 <= x < 8로 표현해도 OK다

증거로 교재 '혼공파' 130쪽의 직접 해보는 손코딩 condition06.py를 제출합니다 😎😎

# 변수 선언
score = float(input("학점 입력 > "))

# 조건문 적용
if score == 4.5 :
    print("신")
elif 4.2 <= score < 4.5 :
    print("교수님의 사랑")
elif 3.5 <= score < 4.2 :
    print("현 체제의 수호자")
elif 2.8 <= score < 3.5 :
    print("일반인")
elif 2.3 <= score < 2.8 :
    print("일탈을 꿈꾸는 소시민")
elif 1.75 <= score < 2.3 :
    print("오락문화의 선구자")
elif 1.0 <= score < 1.75 :
    print("불가촉천민")
elif 0.5 <= score < 1.0 :
    print("자벌레")
elif 0 < score < 0.5 :
    print("플랑크톤")
elif score == 0:
    print("시대를 앞서가는 혁명의 씨앗")

'''
학점 입력 > 4.24
교수님의 사랑
'''

정리

이전에 C를 배운 경험이 지금의 파이썬 학습에 정말 많이 도움이 되고 있다.
다만 C와는 다르게 파이썬만이 가지는 특성들이 있어서 두 언어를 서로 crosschecking 해가면서 각각의 언어를 애매하게 말고 정말 제대로 알아야겠다는 생각을 했다 😁😉😀😊

profile
💻 (CSE) Computer Science and Engineering

0개의 댓글