안녕하세요. Harry입니다.
현재 풀이중인 초보자를 위한 파이썬 300제 풀이를 진행하면서 나름대로 파악했던 문제 출제 의도와 풀이를 작성했습니다.
모든 풀이는 직접 Pycharm을 통해 에러없이 출력됨을 확인 후 작성했습니다.
초보자를 위한 파이썬 300제 풀이는 Wikidocs에 무료로 배포된 전자책을 활용했습니다/
[학습목표]
1. 각 문제별 요구하는 역량(출제의도)이 무엇인지 파악할 수 있다.
2. 각 문제별 요구하는 기술 및 기능을 활용하여 문제를 해결할 수 있다.
111 ~ 120
111
사용자로부터 입력받은 문자열을 두 번 출력하라. 아래는 사용자가 "안녕하세요"를 입력한 경우의 출력 결과이다.
- 요구역량 : input 메서드를 활용하여 사용자 입력값에 따라 원하는 결과를 출력할 수 있는가?
변수 = input("~~") 로 지정합니다. print(변수) 할 시, 사용자가 입력할 수 있는 문구가 출력됩니다.
>> 안녕하세요
안녕하세요안녕하세요
정답확인user = input("입력:")
print(user * 2)
112
사용자로부터 하나의 숫자를 입력받고, 입력 받은 숫자에 10을 더해 출력하라.
- 요구역량 : input 메서드를 활용하여 사용자 입력값에 따라 원하는 결과를 출력할 수 있는가?
입력하는 변수의 문자형과 연산되는 문자형이 다른 경우, 문자형을 일치시켜줘야 합니다.
>> 숫자를 입력하세요: 30
40
정답확인user = input("숫자를 입력하세요: ")
print(10 + int(user))
113
사용자로부터 하나의 숫자를 입력 받고 짝수/홀수를 판별하라.
- 요구역량 : input과 if문을 활용하여 사용자 입력 숫자의 특성에 따라 구분하여 출력할 수 있는가?
- input 메서드를 활용해 출력된 값을 숫자형으로 바꿀 수 있는 'int(변수명)'을 활용할 수 있어야한다.
- %2 를 활용하여 나머지의 여부에 따라 짝/홀수를 구분할 수 있어야한다.
- if/else를 통해 출력할 수 있어야한다.
>> 30
짝수
정답확인user = input("숫자를 입력하세요: ")
if int(user)%2 == 0:
print("짝수")
else:
print("홀수")
114
사용자로부터 값을 입력받은 후 해당 값에 20을 더한 값을 출력하라. 단 사용자가 입력한 값과 20을 더한 계산 값이 255를 초과하는 경우 255를 출력해야 한다.
- 요구역량 : 입력값이 위치하는 각 범위에 따라 다른 문구를 출력할 수 있는가?
>> 입력값: 200
출력값: 220
>> 입력값: 240
출력값: 255
정답확인a = input("입력값: ")
b = int(a)+20
if b < 255:
print(b)
else:
print("출력값: 255")
#답지# if/else 조건문을 반대로 썼지만, 동일한 결과
user = input("입력값: ")
num = 20 + int(user)
if num > 255:
print(255)
else:
print(num)
115
사용자로부터 하나의 값을 입력받은 후 해당 값에 20을 뺀 값을 출력하라. 단 출력 값의 범위는 0~255이다. 예를 들어 결괏값이 0보다 작은 값이되는 경우 0을 출력하고 255보다 큰 값이 되는 경우 255를 출력해야 한다.
- 요구역량 : if/elif/else를 활용하여 조건에 따라 출력할 수 있는가?
제가 작성한 코드에서의 한계는, 20을 입력할 시 출력값이 없다는 것이 문제입니다.(0을 포함하는 조건식이 없기 때문)
그렇기 때문에 if문에서 <=를 활용하여 0을 포함할 수 있도록 작성했습니다.
>> 입력값: 200
출력값: 180
>> 입력값: 15
출력값: 0
정답확인
a = input("입력값: ")
b = int(a)-20
if 0 <= b < 255:
print(b)
elif b > 255:
print(255)
elif b < 0:
print(0)
#답지#
user = input("입력값: ")
num = int(user) - 20
if num > 255:
print(255)
elif num < 0:
print(0)
else:
print(num)
116
사용자로부터 입력 받은 시간이 정각인지 판별하라.
- 요구역량 : if/else문 조건 중 특정 문자열 부분의 일치여부에 따라 조건문을 출력할 수 있는가?
저의 경우, [-2:0] 이라는 특정 문자열을 슬라이싱하는 조건을 대입할 생각을 하지 못했기 때문에 풀 수 없었습니다.(좀만 더 생각하면 다 알고 배웠던 것의 응용인데,,,,)
>> 현재시간:02:00
정각 입니다.
>> 현재시간:03:10
정각이 아닙니다
정답확인a = input("현재시간: ")
if a[-2:] == "00":
print("정각입니다.")
else:
print("정각이 아닙니다")
117
사용자로 입력받은 단어가 아래 fruit 리스트에 포함되어 있는지를 확인하라. 포함되었다면 "정답입니다"를 아닐 경우 "오답입니다" 출력하라.
- 요구역량 : if문에서 'in' 을 활용하여 특정 요소가 리스트에 속함에 따라 답변을 출력할 수 있는가?
fruit = ["사과", "포도", "홍시"]
>> 좋아하는 과일은? 사과
정답입니다.
정답확인fruit = ["사과", "포도", "홍시"]
a = input("좋아하는 과일은? ")
if str(a) in fruit:
print("정답입니다.")
else:
print("오답입니다")
118
투자 경고 종목 리스트가 있을 때 사용자로부터 종목명을 입력 받은 후 해당 종목이 투자 경고 종목이라면 '투자 경고 종목입니다'를 아니면 "투자 경고 종목이 아닙니다."를 출력하는 프로그램을 작성하라.
- 요구역량 : if문에서 'in' 을 활용하여 특정 요소가 리스트에 속함에 따라 답변을 출력할 수 있는가?
warn_investment_list = ["Microsoft", "Google", "Naver", "Kakao", "SAMSUNG", "LG"]
정답확인warn_investment_list = ["Microsoft", "Google", "Naver", "Kakao", "SAMSUNG", "LG"]
a = input("종목명을 입력하세요: ")
if a in warn_investment_list:
print("투자 경고 종목입니다")
else:
print("투자 경고 종목이 아닙니다.")
119
아래와 같이 fruit 딕셔너리가 정의되어 있다. 사용자가 입력한 값이 딕셔너리 키 (key) 값에 포함되었다면 "정답입니다"를 아닐 경우 "오답입니다" 출력하라.
- 요구역량 : if문을 활용하여 딕셔너리 내 포함된 요소에 따라 조건문을 출력할 수 있는가?
전 조건문에 fruit.keys()를 명시했으나, 답지에서는 그냥 fruit 딕셔너리에 포함되기만 하면 정답으로 출력하도록 되어 있었습니다.
이런 경우, 굳이 상세하게 key값까지 따질 필요가 없을 수 있습니다.
fruit = {"봄" : "딸기", "여름" : "토마토", "가을" : "사과"}
>> 제가좋아하는계절은: 봄
정답입니다.
정답확인fruit = {"봄" : "딸기", "여름" : "토마토", "가을" : "사과"}
a = input("제가좋아하는계절은: ")
if a in fruit.keys():
print(("정답입니다."))
else:
print("오답입니다.")
120
아래와 같이 fruit 딕셔너리가 정의되어 있다. 사용자가 입력한 값이 딕셔너리 값 (value)에 포함되었다면 "정답입니다"를 아닐 경우 "오답입니다" 출력하라.
- 요구역량 : if문을 활용하여 딕셔너리 내 포함된 요소에 따라 조건문을 출력할 수 있는가?
이번에는 답지에서도 조건문 내 fruit.values()라고 명시해줬네요.
fruit = {"봄" : "딸기", "여름" : "토마토", "가을" : "사과"}
>> 좋아하는과일은? 한라봉
오답입니다.
정답확인fruit = {"봄" : "딸기", "여름" : "토마토", "가을" : "사과"}
a = input("좋아하는과일은? ")
if a in fruit.values():
print(("정답입니다."))
else:
print("오답입니다.")
감사합니다.
'Coding Test > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(131~140)_12.20 (0) | 2022.12.20 |
---|---|
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(121~130)_12.19 (0) | 2022.12.19 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(101~110)_12.19 (0) | 2022.12.19 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(091~100)_12.15 (0) | 2022.12.15 |
[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(081~090)_12.15 (0) | 2022.12.15 |