초보자를 위한 파이썬(Python) 300제 풀이
126. 우편번호는 5자리로 구성이 됩니다. 앞의 세자리는 구를 나타냅니다. 예를 들면, 강북구의 경우에는 010, 011, 012로 시작합니다. 사용자로부터 5자리의 우편번호를 입력받고 구를 판별하세요. (시작은 01로 합니다.)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
강북구 | 강북구 | 강북구 | 도봉구 | 도봉구 | 도봉구 | 노원구 | 노원구 | 노원구 | 노원구 |
>> 우편번호: 01400
도봉구
우편번호 = input("우편번호: ")
우편번호 = 우편번호[:3]
if 우편번호 in ["010", "011", "012"]:
print("강북구")
elif 우편번호 in ["014", "015", "016"]:
print("도봉구")
else:
print("노원구")
- if 문과 슬라이싱을 사용하여 구를 분류하여 출력합니다.
127. 주민등록번호 뒷 자리 7자리 중 첫째 자리는 성별을 나타냅니다. 1과 3은 남자, 2와 4는 여자를 의미합니다. 사용자로부터 13자리의 주민등록번호를 입력 받은 후에 성별을 출력하는 프로그램을 작성하세요.
>> 주민등록번호: 821010-1635210
남자
A = input("주민등록번호 : ")
if A[7] == "1" or A[7] == "3":
print("남자")
else:
print("여자")
- input 으로 받은 값은 문자열로 받아지는 부분을 꼭 주의합시다.
- 위 문제와 동일합니다.
128. 주민등록번호 뒷 7자리 중 두 번째와 세 번째는 지역코드를 의미합니다. 주민등록번호를 입력 받은 후, 출생지가 서울인지 아닌지 판단하는 코드를 작성하세요.
지역코드 | 출생지 |
00 ~ 08 | 서울 |
09 ~ 12 | 부산 |
>> 주민등록번호: 821010-1635210
서울이 아닙니다.
>> 주민등록번호: 861010-1015210
서울 입니다.
A = input("주민등록번호 : ")
B = int(A[8:10])
if 0 <= B <= 8:
print("서울 입니다.")
else:
print("서울이 아닙니다.")
- int 값으로 변형해서 크기를 지정해주고 if 문으로 해결할 수 있습니다.
129. 주민등록번호는 13자리로 구성됩니다. 마지막 자리수는 주민등록번호의 유효성을 체크하는데 사용합니다. 먼저 앞에서 12자리 숫자에 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5를 차례로 곱한 후 그 값을 전부 더합니다. 연산 결과 값을 11로 나누면 나머지가 나오는데, 11에서 그 나머지를 뺀 값이 주민등록번호의 마지막 번호가 됩니다. 다음과 같이 사용자로부터 주민등록번호를 입력 받은 후 주민등록번호가 유효한지 출력하는 프로그램을 작성하세요.
8 2 1 0 1 0 - 1 6 3 5 2 1 0
x 2 3 4 5 6 7 8 9 2 3 4 5
-----------------------------
1차 계산: (8*2 + 2*3 + 1*4 + 0*5 + 1*6 + 0*7 + 1*8 + 6*9 + 3*2 + 5*3 + 2*4 + 1*5) = (128 % 11) = 7
2차 계산: 11 -7 = 4
>> 주민등록번호: 821010-1635210
유효하지 않은 주민등록번호입니다.
A = input("주민등록번호 : ")
B = A.split("-")
C = B[0]
D = B[1]
E = [2, 3, 4, 5, 6, 7]
F = [8, 9, 2, 3, 4, 5]
G = []
for x in range(6):
G.append(int(C[x]) * int(E[x]))
G.append(int(D[x]) * int(F[x]))
H = sum(G) % 11
if D[6] == str(11 - H):
print("유효한 주민등록번호입니다.")
else:
print("유효하지 않은 주민등록번호입니다.")
130. 아래 코드는 비트코인의 가격 정보를 딕셔너리로 가져오는 코드입니다. btc 딕셔너리 안에는 시가, 종가, 최고가, 최저가 등이 저장되어 있습니다. 최고가와 최저가의 차이를 변동폭으로 정의할 때, (시가 + 변동폭)이 최고가 보다 높을 경우 "상승장", 그렇지 않은 경우는 "하락장" 문자열을 출력하세요.
import requests
btc = requests.get("https://api.bithumb.com/public/ticker/").json()['data']
Key Name | Description |
opening_price | 최근 24시간 내 시작 거래금액 |
closing_price | 최근 24시간 내 마지막 거래금액 |
min_price | 최근 24시간 내 최저 거래금액 |
max_price | 최근 24시간 내 최고 거래금액 |
import requests
btc = requests.get("https://api.bithumb.com/public/ticker/").json()['data']
A = float(btc["max_price"]) - float(btc["min_price"])
if float(btc["opening_price"]) + A >= float(btc["max_price"]):
print("상승장")
else:
print("하락장")
- 위 링크 데이터를 직접 보고 소수점이 있는 자료를 확인한 후에 float으로 데이터를 정리합니다.
- if 문으로 문제를 해결합니다.
출처 = https://wikidocs.net/book/922, 초보자를 위한 파이썬 300제,
PyCharm 사용
'개발 > (1) 초위파(Python) 300제 풀이' 카테고리의 다른 글
초보자를 위한 파이썬(Python) 300제 풀이 (136, 137, 138, 139, 140) (0) | 2022.11.01 |
---|---|
초보자를 위한 파이썬(Python) 300제 풀이 (131, 132, 133, 134, 135) (0) | 2022.10.27 |
초보자를 위한 파이썬(Python) 300제 풀이 (121, 122, 123, 124, 125) (0) | 2022.10.24 |
초보자를 위한 파이썬(Python) 300제 풀이 (116, 117, 118, 119, 120) (0) | 2022.10.23 |
초보자를 위한 파이썬(Python) 300제 풀이 (111, 112, 113, 114, 115) (0) | 2022.10.21 |