IT/프로그래밍

[파이썬] 파이썬 조건문 [패스트 캠퍼스 챌린지 도전 5일차]

뜻밖의 행복 2022. 1. 28. 22:45
반응형

안녕하세요? 패스트 캠퍼스 챌린지 도전 5일차 입니다.

5일만에 중요한것들이 많이 나왔네요 

 

보통 개발때 가장 많이 사용하는 조건문과 반복문에 대해서 배웠습니다. 

그 중 오늘은 조건문만 복습 하겠습니다. 

 

리바운드를 지배하는자가 경기를 지배하고 

조건문을 정복하는자 프로그래밍을 지배한다!

 

 

파이썬 초급 부분 강사님 유머가 있습니다. 

저와 통하는 유머에요

 

프로그래밍 언어도 진짜 외국어 배우듯이 하면 됩니다.

간단한 법칙은 외우고 

실제로 계속 해서 써야 진짜로 실력이 늘어납니다. 

그냥 법칙만 외운채로 넘어가면 자기 자신것이 되지 않는데 

그런 의미인지 오늘 예제 위주의 강의 였습니다. 

 

여기서 발전하면 스스로 만들어 보고 싶은것을 만들면 진정으로 체득한것이 됩니다. 

 

조건문

조건문 if 

사실 if는 파이썬 뿐만 아니라 다른 프로그래밍 언어에서도 단골로 나오는 것이라 

한 곳에서 확실히 배우면 다른 쪽에서 사용하는 것은 일도 아니지요 

영어 단어 if 뜻도 너무 좋은데 

여기서는 기능이 너무 좋습니다. 조건만 잘 설정하면 

그렇게 알아서 잘 해줄 수 없는 친구가 우리 if 문이죠

 

사용법도 너무 간단합니다. if 뒤에 그냥 조건만 적어주면 됩니다.

 

바로 문제를 풀어보면서 사용법을 익혀 봅니다.

프로그램 사용자로부터 국어, 수학, 영어 성적이 입력 됩니다. 
세 과목의 평균점수가 80점 이상이면 합격입니다. 
합격일 경우 “합격입니다.” 를 출력하고 
불합격일 경우 “불합격입니다.” 를 출력하는 프로그램을 만들어주세요
다만 0점 에서 100점 사이의 숫자를 입력하지 않으면 "잘못 입력하였습니다."를 출력합니다.

위 문제를 푸는 방법은 무한에 가까운데 우선 제 방법으로 풀이 할때는 3가지만 알고 계시면 됩니다.

전 포스팅에서도 나왔던 것들인데요

if, print, input 입니다. 

if 는 if 뒤에 조건을 적고 : 으로 마무리 하고 

print()는 ()안에 출력할 말만 적으면 되는 우리의 베스트 프렌드이고 

input() 역시 안에 사용자를 향해 말을 하고 입력을 받게 해주는 자주 사용하는 친구 입니다.

 

 

 
 

 

파이썬 조건문

위 화면 제 풀이입니다.

 

왜 저렇게 풀었는지 말씀드리면

우선 1, 2, 3 지난 포스팅때 배운 변수와 자료형입니다.

kor, math, eng는 변수명 입니다. 그냥 알아보기 편한것으로 지정한 것입니다. 

int() 는 자료형때 배운 내용입니다. 

int() 로 감싸주면 ()에 입력 받은 내용은 정수형으로 바뀌고 그것이 변수에 저장이 되는 것이지요

여기서 int() 안에 있는 것은 input() 로 사용자에게 입력 받은 값을 정수로 저장한다는 뜻입니다.

 

그렇다면 5 는 무엇일까요?

문제에 평균 80점이 넘어야 된다는 조건이 있고 평균을 구하긴 위해서는 3가지 과목 점수를 더해야하기 때문에

넣은 항목입니다. total이라는 변수명을 주고 1, 2, 3에서 준 각 변수를 더하면 총점이 되겠지요

 

그리고 바로 아래에서 평균을 구하기 위해 6. avg에 total / 과목수니까 3 로 지정하면

평균을 구할 수 있습니다.

여기까지 오면 뭐 다한거네요   

 

보통 시험점수라고 하면 0~100 점사이고 -1 점이나 101 점은 있지 않지요 그래서 

8번 if 문에 우리가 원하는 조건을 넣습니다. 

국어, 수학, 영어 모두 0점 ~ 100점 사이에 점수만 넣을 때 참이고 

참이면 바로 9번, 11번을 실행시키겠다는 뜻입니다.

if 0 <= kor <= 100 and 0 <= math <= 100 and 0 <= eng <= 100:

비교연산과 and 를 이용하여 한줄로 이렇게 조건을 정할 수 있습니다. 

마지막에는 꼭 : 으로 닫아줘야 합니다.

점수가 제대로 입력이 되었다면 

이제 또 평균이 80점이냐 80점이 아니냐에 따라 출력되는 조건이 달라지니까 

if 문 안에 또 if 를 넣어서 마무리 합니다. 

avg 가 80이 넘으면 10번 print를 출력하고 avg가 80을 넘지 못하면 12번을 출력하는 것이지요

14. 는 0점~100점 사이의 점수를 넣지 않으면 출력되게 하는 것입니다. 

kor = int(input("좋은 말로 할 때 국어 점수를 입력하십시오. 휴먼!"))
math = int(input("좋은 말로 할 때 수학 점수를 입력하십시오. 휴먼!"))
eng = int(input("좋은 말로 할 때 영어 점수를 입력하십시오. 휴먼!"))

total = kor + math + eng
avg = total/3

if 0 <= kor <= 100 and 0 <= math <= 100 and 0 <= eng <= 100:
    if avg >= 80:
        print("축하한다. 당신은 합격이다. 휴먼 목숨은 살려주마")
    else:
        print("불합격이다. 각오해라!")
else:
    print("멍청한 휴먼 그 점수하나 제대로 입력을 하지 못하는가?")

실제로 동작하나 볼까요?

 

네 

원형 1번 :

점수가 0점 ~ 100점 사이가 아닌 잘못된 점수 넣었을 때 

점수를 똑바로 입력하라고 친절하게 알려줍니다.

 

원형 2번 : 

점수를 제대로 입력했고 평균이 80점이 넘었을 경우

진심을 담아 축하하는 메시지가 나옵니다.

 

원형 3번 :

점수를 제대로 입력했고 평균이 80점이 넘지 못했을 경우

어머니...

 

 

반응형