Unit 03
Q. Hello, world!' 두 개를 각 줄에 출력하는 프로그램을 만드세요(대소문자 구분과 띄어쓰기가 정확해야 합니다). 정답에는 출력 결과를 만족하는 전체 소스 코드를 입력해야 합니다.
정답 :
print('Hello, world!')
print('Hello, world!')
Unit 05
Q. L이라는 게임에서 "왜곡"이라는 스킬이 AP * 0.6 + 225의 피해를 입힙니다. 참고로 이 게임에서 AP(Ability Power, 주문력)는 마법 능력치를 뜻합니다. 다음 소스 코드를 완성하여 스킬의 피해량이 출력되게 만드세요.
- AP: 102
정답 :
print(102 * 0.6 + 225) # 286.2
Unit 06
- print(a) 결과 : 50
- print(b) 결과 : 100
- print(c) 결과 : None
정답 :
a = 50
b = 100
c = None
a, b, c, d = map(int, input().split())
print(int((a+b+c+d)/4))
Unit 07
Q. 표준 입력으로 년, 월, 일, 시, 분, 초가 입력됩니다. 다음 소스 코드를 완성하여 입력된 날짜와 시간을 년-월-일T시:분:초 형식으로 출력되게 만드세요.
정답 :
print(year, month, day, sep='-', end='T')
- '년-월-일T' 가 출력되어야 하므로 출력 값들 사이에 '-'문자를 넣을 수 있는 sep을 지정해주고 바로 다음 같은 줄에 T가 출력될 수 있도록 end를 지정했다.
Unit 8
Q. 표준 입력으로 국어, 영어, 수학, 과학 점수가 입력됩니다. 국어는 90점 이상, 영어는 80점 초과, 수학은 85점 초과, 과학은 80점 이상일 때 합격이라고 정했습니다(한 과목이라도 조건에 만족하지 않으면 불합격). 다음 소스 코드를 완성하여 합격이면 True, 불합격이면 False가 출력되게 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
정답 :
korean, english, math, science = map(int, input().split())
print(korean>=90 and english>80 and math>85 and science>=80)
- 먼저 국어, 영어, 수학, 과학 점수가 한 줄에 입력되므로 input에서 split을 사용한 뒤 변수 네 개에 저장했고, 이때 input().split()의 결과는 문자열 상태이므로 map에 int를 사용하여 정수로 변환해준 값을 입력 받은 다음 조건에 맞게 비교 연산자를 사용하여(초과는 >, 이상은 >= 사용, 한 과목이라도 조건을 만족하지 않으면 안되니 and연산자 사용) 답을 출력했다.
Unit 9
Q. 다음 소스 코드를 완성하여 실행 결과대로 문자열이 출력되게 만드세요.
정답 :
s = ''''Python' is a "programming language"
that lets you work quickly
and
integrate systems more effectively.'''
- 문장을 여러 줄로 출력할 수 있고 문자열 안에 작은 따옴표나 큰 따옴표를 사용해도 에러가 나지 않는 ''' '''를 사용하여 4줄의 문장 출력이 가능하도록 했다.
Unit 10
Q. 표준 입력으로 정수가 입력됩니다. range의 시작하는 숫자는 -10, 끝나는 숫자는 10이며 입력된 정수만큼 증가하는 숫자가 들어가도록 튜플을 만들고, 해당 튜플을 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다).
정답 :
a = int(input())
t = tuple(range(-10, 10, a))
print(t)
- -10에서 10까지 입력받은 정수만큼 증가하는 튜플을 range를 통해 만들어야 하므로 일단 정수를 입력받을 수 있게 int(input())을 사용하여 입력받은 정수를 변수 a에 할당하고, 변수 t에 입력받은 정수만큼 증가하는 튜플을 만들어 할당한 다음 출력하였다.
Unit 11
Q 11.8. 표준 입력으로 숫자 또는 문자열 여러 개가 입력되어 리스트 x에 저장됩니다(입력되는 숫자 또는 문자열의 개수는 정해져 있지 않음). 다음 소스 코드를 완성하여 리스트 x의 마지막 요소 5개를 삭제한 뒤 튜플로 출력되게 만드세요.
정답 :
del x[-5:]
print(tuple(x))
- 리스트 x의 마지막 요소 5개를 삭제하기 위해 뒤에서 부터 삭제할 수 있도록 인덱스에 음수를 지정했고 del x[-5:]로 뒤에서부터 5번째 인덱스 부터 마지막 인덱스 까지 슬라이스를 삭제했고 이를 튜플로 출력했다.
Q 11.9. 표준 입력으로 문자열 두 개가 각 줄에 입력됩니다(문자열의 길이는 정해져 있지 않음). 첫 번째 문자열에서 인덱스가 홀수인 문자와 두 번째 문자열에서 인덱스가 짝수인 문자를 연결하여 출력하는 프로그램을 만드세요(input에서 안내 문자열은 출력하지 않아야 합니다). 연결 순서는 첫 번째 문자열, 두 번째 문자열 순입니다. 그리고 0은 짝수로 처리합니다.
정답 :
a = input()
b = input()
print(a[1::2]+b[::2])
- 먼저 문자열 두 개를 각각 변수 a, b로 지정해 input()으로 입력 받은 다음, 첫번 째 문자열에서 인덱스가 홀수인 문자와 두 번째 문자열에서 인덱스가 짝수인 문자만 연결하여 출력하도록 +를 사용하였다.
Unit 12
Q. 표준 입력으로 문자열 여러 개와 숫자(실수) 여러 개가 두 줄로 입력됩니다. 입력된 첫 번째 줄은 키, 두 번째 줄은 값으로 하여 딕셔너리를 생성한 뒤 딕셔너리를 출력하는 프로그램을 만드세요. input().split()의 결과를 변수 한 개에 저장하면 리스트로 저장됩니다.
정답 :
key = input().split()
value = map(float, input().split())
test_dict = dict(zip(key,value))
print(test_dict)
- input().split()을 사용하여 변수 한 개에 할당하면 입력값을 리스트로 저장할 수 있기 때문에 문자열과 숫자를 두 줄로 입력받기 위해 두 번 사용하였고, 숫자를 실수로 바꿔주기 위해 map에 float을 사용했다. 만들어진 리스트 두 개를 zip에 넣은 다음 다시 dict에 넣어서 딕셔너리로 만들어준 다음 이를 출력했다.
'Python 코딩도장' 카테고리의 다른 글
파이썬 코딩도장 Unit 08 정리 : Bool과 비교/논리 연산자 (0) | 2022.01.11 |
---|---|
파이썬 코딩도장 Unit 07 정리 : 다양한 출력 방법 (0) | 2022.01.10 |
파이썬 코딩도장 Unit 06 정리 : 변수와 입력 (0) | 2022.01.06 |
파이썬 코딩도장 Unit 05 정리 : 숫자 계산 (0) | 2022.01.06 |
파이썬 코딩도장 Unit 03 ~ Unit 04 정리 : 기본 문법 (0) | 2022.01.05 |