<Py> If와 else 문제

Sinjae Lee·2021년 5월 18일
0

<문제1.>
표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 여기서 네 과목의 평균 점수가 80점 이상일 때 합격이라고 정했습니다. 평균 점수에 따라 '합격', '불합격'을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 단, 점수는 0점부터 100점까지만 입력받을 수 있으며 범위를 벗어났다면 '잘못된 점수'를 출력하고 합격, 불합격 여부는 출력하지 않아야 합니다.


입력 - 89 72 93 82
결과 - 합격

입력 - 100 79 68 71
결과 - 불합격

입력 - 99 85 101 90
결과 - 잘못된 점수

국어, 영어, 수학, 과학 = map(int, input().split())
if 국어>100 or 영어>100 or 수학>100 or 과학>100:
    print('잘못된 점수')
if ((국어+영어+수학+과학)/4)>=80 :
    print('합격')
else:
    print('불합격')

test1

48 29 90 80
불합격

test2

98 89 100 100
합격

test3

101 90 87 98
잘못된 점수
합격

응?? 합격이 여기서 why 나와

생각을 골똘히 하다가 도저히 머릿속으로 생각한 함수 검색에 실패해서 일단은 깔끔하지 못하게

국어, 영어, 수학, 과학= map(int, input().split())
if 국어>100 or 국어<0 or 영어>100 or 영어<0 or 수학>100 or 수학<0 or 과학>100 or 과학<0:
    print('잘못된 점수')

elif ((국어+영어+수학+과학)/4)>=80 and 국어<=100 and 국어>=0 and 영어<=100 and 영어>=0 and 수학<=100 and 수학>=0 and 과학<=100 and 과학>=0:
    print('합격')

else:
    print('불합격')

후 조건에 맞게
정상 출력은 가능하지만 자존심 상한다

<문제2.>
표준 입력으로 나이(만 나이)가 입력됩니다(입력 값은 7 이상 입력됨). 교통카드 시스템에서 시내버스 요금은 다음과 같으며 각 나이에 맞게 요금을 차감한 뒤 잔액이 출력되게 만드세요(if, elif 사용). 현재 교통카드에는 9,000원이 들어있습니다.

어린이(초등학생, 만 7세 이상 12세 이하): 650원
청소년(중∙고등학생, 만 13세 이상 18세 이하): 1,050원
어른(일반, 만 19세 이상): 1,250원

age = int(input())
balance = 9000
if age>=7 and age<=12:
    balance = balance - 650
elif age>=13 and age<=18:
    balance = balance - 1050
elif age>=19:
    balance = balance - 1250
print(balance)

여기서 처음에 작성한 코드는
1.

age = int(input())
balance = 9000
if age>=7 and age<=12:
    print(balance - 650)
.
.
.
print(balance)

이렇게도 해보고
2.

age = int(input())
balance = 9000
if age>=7 and age<=12:
    balance - 650
.
.
.
print(balance)

이렇게도 해봤다
1. 코드는 age 입력시
ex

입력 10
출력 8350
9000
2. 코드는 age 입력시 9000 출력

해당 문제를 풀어보면서 balance 라는 것이 무엇인지 객체란 무엇인지 그러고 balance = balance - 650 에서 좌항의 balance 와 우항의 balance 는 같은 놈인지 와 같은 궁금증이 생겼고

이를 찾아보면서 파이썬은 메모리를 어떻게 저장하고 관리하는지 간략하게 나마 공부할 수 있었다
---> 해당 내용은 다음장에 계속

profile
Back-end developer

0개의 댓글

Powered by GraphCDN, the GraphQL CDN