업데이트:

Unit 3 문제 풀이

3.7 연습 문제 :

다음 소스 코드를 완성하여 ‘Hello, world!’와 ‘Python Programming’이 각 줄에 출력되게 만드세요.

print('Hello, world!')
print(_______________)

풀이

'Python Programming'

3.8 심사 문제 :

‘Hello, world!’ 두 개를 각 줄에 출력하는 프로그램을 만드세요.
(대소문자 구분과 띄어쓰기가 정확해야 합니다)
정답에는 출력 결과를 만족하는 전체 소스 코드를 입력해야 합니다.

풀이

print('Hello, world!')
print('Hello, world!')

Unit 5 문제 풀이

5.5 연습 문제 :

국립환경과학원에서는 아파트에서 소음이 가장 심한 층수를 구하는 계산식을 발표했습니다.
소음이 가장 심한 층은 0.2467 * 도로와의 거리(m) + 4.159입니다.
다음 소스 코드를 완성하여 소음이 가장 심한 층수가 출력되게 만드세요.
단, 층수를 출력할 때는 소수점 이하 자리는 버립니다(정수로 출력).

  • 도로와의 거리: 12m
print(_______________)
# 결과 : 7

풀이

int(0.2467 * 12 + 4.159)
처음에 Int라 적었는데 오류가 났다. 꼭 int라 적도록 하자.

5.6 심사 문제 :

L이라는 게임에서 “왜곡”이라는 스킬이 AP * 0.6 + 225의 피해를 입힙니다.
참고로 이 게임에서 AP(Ability Power, 주문력)는 마법 능력치를 뜻합니다.
다음 소스 코드를 완성하여 스킬의 피해량이 출력되게 만드세요.

  • AP: 102
print(102 ________)
# 결과 : 286.2

풀이

* 0.6 + 225

Unit 6 문제 풀이

6.6 연습 문제 :

다음 소스 코드를 완성하여 정수 세 개를 입력받고 합계가 출력되게 만드세요.

_________________________
print(a + b + c)
# 입력 : -10 20 30
# 결과 : 40

풀이

a, b, c = map(int, input().split())

6.7 심사 문제 :

다음 소스 코드를 완성하여 50, 100, None이 각 줄에 출력되게 만드세요.

_____________
_____________
_____________

print(a)
print(b)
print(c)
# 결과 : 
# 50
# 100
# None

풀이

a = 50
b = 100
c = 'None'

a, b, c = 50, 100, None 이렇게 한 줄로 값을 할당하는 방법도 있다.

6.8 심사 문제 :

표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다.
평균 점수를 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
단, 평균 점수를 출력할 때는 소수점 이하 자리는 버립니다(정수로 출력).

________________
________________

# 입력 : 83 92 87 90
# 결과 : 88

풀이

a, b, c, d = map(int, input().split())
print(int((a + b + c + d) / 4))

(a + b + c + d) // 4
int()를 사용하지 않고 버림 나눗셈 연산자(//)를 사용하는 방법도 있다.

Unit 7 문제 풀이

7.4 연습 문제 :

다음 소스 코드를 완성하여 날짜와 시간이 출력되게 만드세요.

year = 2000
month = 10
day = 27
hour = 11
minute = 43
second = 59
 
print(year, month, day, ________________)
print(hour, minute, second, ________)
# 결과 : 2000/10/27 11:43:59

풀이

sep = '/', end = ''
sep = ':'

7.5 심사 문제 :

표준 입력으로 년, 월, 일, 시, 분, 초가 입력됩니다.
다음 소스 코드를 완성하여 입력된 날짜와 시간을 년-월-일T시:분:초 형식으로 출력되게 만드세요.

year, month, day, hour, minute, second = input().split()

_______________________________________
print(hour, minute, second, sep=':')
# 입력 : 1999 12 31 10 37 21
# 결과 : 1999-12-31T10:37:21

풀이

print(year, month, day, sep='-', end='T')

처음에 sep:'-' 이렇게 적었다. 꼭 등호를 사용하자..

Unit 8 문제 풀이

8.4 연습 문제 :

국어, 영어, 수학, 과학 점수가 있을 때 한 과목이라도 50점 미만이면 불합격이라고 정했습니다.
다음 소스 코드를 완성하여 합격이면 True, 불합격이면 False가 출력되게 만드세요.

korean = 92
english = 47
mathematics = 86
science = 81
 
print(___________________________)
# 결과 : False

풀이

korean >= 50 and english >= 50 and mathematics >= 50 and science >= 50
&&를 적었었는데 오류가 났다. 꼭 and를 사용하자.

8.5 심사 문제 :

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

________________
________________
# 입력 : 90 81 86 80
# 결과 : True

풀이

a, b, c, d = map(int, input().split())
print(a >= 90 and b > 80 and c > 85 and d >= 80)

Unit 9 문제 풀이

9.3 연습 문제 :

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

s = _______________________
___________________________
___________________________
print(s)
# 결과 :
# Python is a programming language that lets you work quickly
# and
# integrate systems more effectively.

풀이

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

9.4 심사 문제 :

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

____________________
____________________
____________________
print(s)
# 결과 :
# 'Python' is a "programming language"
# that lets you work quickly
# and
# integrate systems more effectively.

풀이

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

Unit 10 문제 풀이

10.4 연습 문제 :

다음 소스 코드를 완성하여 리스트 [5, 3, 1, -1, -3, -5, -7, -9]가 출력되게 만드세요.
리스트를 만들 때는 range를 사용해야 합니다.

__________range__________
 
print(a)
# 결과 : [5, 3, 1, -1, -3, -5, -7, -9]

풀이

a = list(range(5, -10, -2))

10.5 심사 문제 :

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

___________________
___________________
___________________
# 입력 : 2
# 결과 : (-10, -8, -6, -4, -2, 0, 2, 4, 6, 8)

풀이

a = int(input())
b = tuple(range(-10, 10, a))
print(b)

print(tuple(range(-10, 10, a))) 이렇게 바로 출력하는 방법도 있다고 한다.

Unit 11 문제 풀이

11.6 연습 문제 :

리스트 year에 연도, population에 서울시 인구수가 저장되어 있습니다.
다음 소스 코드를 완성하여 최근 3년간 연도와 인구수가 리스트로 출력되게 만드세요.

year = [2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018]
population = [10249679, 10195318, 10143645, 10103233, 10022181, 9930616, 9857426, 9838892]
 
print(_________)
print(______________)
# 결과 :
# [2016, 2017, 2018]
# [9930616, 9857426, 9838892]

풀이

year[-3:]
population[-3:]

11.7 연습 문제 :

다음 소스 코드를 완성하여 튜플 n에서 인덱스가 홀수인 요소들이 출력되게 만드세요.

n = -32, 75, 97, -10, 9, 32, 4, -15, 0, 76, 14, 2
 
print(__________)
# 결과 : (75, -10, 32, -15, 76, 2)

풀이

n[1::2]
처음에 n[::2]라 했었는데 이건 인덱스가 짝수인 요소들이었다. 홀수는 1부터 시작, 2씩 증가한다는걸 기억하자.

11.8 심사 문제 :

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

x = input().split()

________________
________________
# 입력 : 1 2 3 4 5 6 7 8 9 10
# 결과 : ('1', '2', '3', '4', '5')

풀이

# 답
del x[-5:]
print(tuple(x))
# 나의 답
y = tuple(del x[-5:])
print(y)

del은 tuple() 안에 사용하지 못한다는 걸 꼭 명심하자.

11.9 심사 문제 :

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

________________
________________
________________
# 입력 : 
# python
# python
# 결과 : yhnpto

풀이

# 답
a = input()
b = input()
print(a[1::2]+b[::2])
# 나의 답
a = input()
b = input()
print(a[1::2], b[::2])

문자를 연결한다는 건 + 연산자의 사용을 뜻한다는걸 기억하자.

Unit 12 문제 풀이

12.4 연습 문제 :

다음 소스 코드를 완성하여 게임 캐릭터의 체력(health)과 이동 속도(movement speed)가 출력되게 만드세요.

camille = {
    'health': 575.6,
    'health_regen': 1.7,
    'mana': 338.8,
    'mana_regen': 1.63,
    'melee': 125,
    'attack_damage': 60,
    'attack_speed': 0.625,
    'armor': 26,
    'magic_resistance': 32.1,
    'movement_speed': 340
}
 
print(_______________)
print(_______________)
# 결과 : 
# 575.6
# 340

풀이

camille['health']
camille['movement_speed']

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}

풀이

a = input().split()
b = map(float, input().split())
c = dict(zip(a,b))
print(c)

Notice: 이 게시물은 파이썬 코딩 도장 사이트를 참고하였습니다. https://dojang.io/course/view.php?id=7

댓글남기기