코딩도장 파이썬 심사문제 # 1

chaerin·2020년 12월 30일
0

PYTHON

목록 보기
5/17
post-thumbnail

8.5 합격여부 출력하기

표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 국어는 90점 이상, 영어는 80점 초과, 수학은 85점 초과, 과학은 80점 이상일 때 합격이라고 정했습니다(한 과목이라도 조건에 만족하지 않으면 불합격). 다음 소스 코드를 완성하여 합격이면 True, 불합격이면 False가 출력되게 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

point ✅

  • input().split()의 결과는 문자열 상태이므로 map에 int를 사용하여 정수로 변환해줍니다.
  • 한 과목이라도 조건에 만족하지 않으면 불합격이므로 비교 연산자를 모두 and 연산자로 판단해주면 됩니다(and는 모든 값이 참이라야 참).

9.4 여러 줄로 된 문자열 사용하기

코드를 완성하여 실행 결과대로 문자열이 출력되게 만드세요.

결과
'Python' is a "programming language"
that lets you work quickly
and
integrate systems more effectively.

point ✅

  • 줄바꿈이 있는 문장이므로 문자열 전체를 '''(작은따옴표 3개) 또는 """(큰 따옴표 3개)로 묶어줄 것

10.5 range로 튜플 만들기

표준 입력으로 정수가 입력됩니다. range의 시작하는 숫자는 -10, 끝나는 숫자는 10이며 입력된 정수만큼 증가하는 숫자가 들어가도록 튜플을 만들고, 해당 튜플을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

입력
>> 2
결과
(-10, -8, -6, -4, -2, 0, 2, 4, 6, 8)

입력
>> 3
결과
(-10, -7, -4, -1, 2, 5, 8)

point ✅

  • input으로 입력받은 값은 문자열 상태이므로 int를 사용하여 정수로 변환
  • range의 시작하는 숫자는 -10, 끝나는 숫자는 10이라고 했고, 증가폭도 변수 step에 저장했으므로 튜플은 tuple(range(-10, 10, step))과 같이 만들면 됩니다.
  • 끝나는 숫자는 생성되는 숫자에 포함되지 않음.

11.8 리스트의 마지막 부분 삭제하기

표준 입력으로 숫자 또는 문자열 여러 개가 입력되어 리스트 x에 저장됩니다(입력되는 숫자 또는 문자열의 개수는 정해져 있지 않음). 다음 소스 코드를 완성하여 리스트 x의 마지막 요소 5개를 삭제한 뒤 튜플로 출력되게 만드세요.

입력
>> 1 2 3 4 5 6 7 8 9 10
결과
('1', '2', '3', '4', '5')
입력
>> oven bat pony total leak wreck curl crop space navy loss knee
결과
('oven', 'bat', 'pony', 'total', 'leak', 'wreck', 'curl')

point ✅

  • 인덱스에 -5를 지정하면 뒤에서 5번째 요소에 접근
  • 슬라이스를 사용하여 시작 인덱스를 -5으로 지정하고, 끝 인덱스를 생략하면 리스트의 마지막 요소 5개에 접근

11.9 문자열에서 인덱스가 홀수인 문자와 짝수인 문자 연결하기

표준 입력으로 문자열 두 개가 각 줄에 입력됩니다(문자열의 길이는 정해져 있지 않음). 첫 번째 문자열에서 인덱스가 홀수인 문자와 두 번째 문자열에서 인덱스가 짝수인 문자를 연결하여 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 연결 순서는 첫 번째 문자열, 두 번째 문자열 순입니다. 그리고 0은 짝수로 처리합니다.

입력
>> python
>> python
결과
yhnpto

입력
>> apple
>> strawberry
결과
plsrwer

point ✅

  • 문자열 두 개가 각 줄에 입력된다고 했으므로 input을 두 번 사용
  • 문자열의 길이는 정해져 있지 않다고 했으므로 끝 인덱스를 생략하여 문자열의 마지막까지 가져올 수 있도록 만든다. len을 사용하여 문자열의 길이를 구해서 넣는 방법도 가능하다.

12.5 딕셔너리에 게임 캐릭터 능력치 저장하기

표준 입력으로 문자열 여러 개와 숫자(실수) 여러 개가 두 줄로 입력됩니다. 입력된 첫 번째 줄은 키, 두 번째 줄은 값으로 하여 딕셔너리를 생성한 뒤 딕셔너리를 출력하는 프로그램을 만드세요. input().split()의 결과를 변수 한 개에 저장하면 리스트로 저장됩니다.

입력
>> health health_regen mana mana_regen
575.6 1.7 338.8 1.63
결과
{'health': 575.6, 'health_regen': 1.7, 'mana': 338.8, 'mana_regen': 1.63}

입력
>> health mana melee attack_speed magic_resistance
573.6 308.8 600 0.625 35.7
결과
{'health': 573.6, 'mana': 308.8, 'melee': 600.0, 'attack_speed': 0.625, 'magic_resistance': 35.7}

point ✅

  • 숫자는 실수라고 했으므로 map에 float를 사용하여 실수로 변환

    ✓ input().split()과 map
    map(int, input().split())와 같은 형태로 문자열 리스트를 정수 또는 실수로 변환 가능

  • 리스트를 zip에 넣은 뒤 다시 dict에 넣어서 딕셔너리로 만든다.

    ✓ dict로 딕셔너리 만들기

    • 딕셔너리 = dict(키1=값1, 키2=값2)
    • 딕셔너리 = dict(zip([키1, 키2], [값1, 값2]))
    • 딕셔너리 = dict([(키1, 값1), (키2, 값2)])
    • 딕셔너리 = dict({키1: 값1, 키2: 값2})

13.7 온라인 할인 쿠폰 시스템 만들기

표준 입력으로 가격(정수)과 쿠폰 이름이 각 줄에 입력됩니다. Cash3000 쿠폰은 3,000원, Cash5000 쿠폰은 5,000원을 할인합니다. 쿠폰에 따라 할인된 가격을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).

입력
>> 27000
>> Cash3000
결과
24000

입력
>> 72000
>> Cash5000
결과
67000

point ✅

  • 정수가 입력된다고 했으므로 int(input())과 같이 입력 값을 정수로 변환한 뒤 변수에 저장
  • Cash3000일 때는 if coupon == 'Cash3000':과 같이 if 조건문을 만든 뒤 price -= 3000과 같이 price에서 3000을 뺀 뒤 결과를 다시 price에 저장(Cash5000도 마찬가지로)

14.7 합격 여부 판단하기

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

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

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

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

point ✅

  • input().split()의 결과는 문자열 상태이므로 map에 int를 사용하여 정수로 변환
  • 모든 점수가 0점 이상이거나 100점 이하인지 검사한다. 이 때 하나라도 범위를 벗어나면 안 되므로 모두 and 연산자로 판단한다.

0개의 댓글