121
사용자로부터 문자 한 개를 입력 받고, 소문자일 경우 대문자로, 대문자 일 경우, 소문자로 변경해서 출력하라.
user = str(input("문자 입력 : "))
if(user.islower()) :
print(user.upper())
elif(user.isupper()) :
print(user.lower())
122
점수 구간에 해당하는 학점이 아래와 같이 정의되어 있다. 사용자로부터 score를 입력받아 학점을 출력하라.
점수 학점
81 - 100 A
61 - 80 B
41 - 60 C
21 - 40 D
0 - 20 E
grade = int(input("점수 입력 : "))
if(grade<=20) :
print("E")
elif(grade<=40) :
print("D")
elif(grade<=60) :
print("C")
elif(grade<=80) :
print("B")
else :
print("A")
user에 '100 달러'를 입력하면,
num 변수에 100
currency 변수에 달러가 대입.
환율[currency]는 환율['달러']로 딕셔너리에서 달러의 value값이 대입.
123
사용자로부터 달러, 엔, 유로, 또는 위안 금액을 입력받은 후 이를 원으로 변환하는 프로그램을 작성하라. 각 통화별 환율은 다음과 같다. 사용자는 100 달러, 1000 엔, 13 유로, 100 위안과 같이 금액과 통화명 사이에 공백을 넣어 입력한다고 가정한다.
통화명 환율
달러 1167
엔 1.096
유로 1268
위안 171
환율 = {'달러':1167, '엔':1.096, '유로':1268, '위안':171}
user = input("입력 : ")
num, currency = user.split()
print(float(num) * 환율[currency], '원')
124
사용자로부터 세 개의 숫자를 입력 받은 후 가장 큰 숫자를 출력하라.
num1 = int(input("number1 : "))
num2 = int(input("number2 : "))
num3 = int(input("number3 : "))
if num1>=num2 and num1>=num3 :
print(num1)
elif num2>=num1 and num2>=num3 :
print(num2)
else :
print(num3)
125
휴대폰 번호 앞자리에 따라 통신사는 아래와 같이 구분된다. 사용자로부터 휴대전화 번호를 입력 받고, 통신사를 출력하는 프로그램을 작성하라.
번호 통신사
011 SKT
016 KT
019 LGU
010 알수없음
dic = {'SKT':'011', 'KT':'016', 'LGU':'019', '알수없음':'010'}
dic.values()
list(dic.keys())[0]
phone = input("휴대전화번호 입력 : ")
num = phone.split("-")[0]
num
if num == list(dic.values())[0] :
print(f"당신은 {list(dic.keys())[0]} 사용자입니다.")
if num == list(dic.values())[1] :
print(f"당신은 {list(dic.keys())[1]} 사용자입니다.")
if num == list(dic.values())[2] :
print(f"당신은 {list(dic.keys())[2]} 사용자입니다.")
126
우편번호는 5자리로 구성되는데, 앞의 세자리는 구를 나타낸다. 예를들어, 강북구의 경우 010, 011, 012 세 자리로 시작한다.
사용자로 부터 5자리 우편번호를 입력받고 구를 판별하라
number = input("우편번호 : ")
if number[:3] in ['010', '011', '012'] :
print('강북구')
elif number[:3] in ['013', '014', '015'] :
print('도봉구')
elif number[:3] in ['016', '017', '018', '019'] :
print('노원구')
127
주민등록번호 뒷 자리 7자리 중 첫째 자리는 성별을 나타내는데, 1, 3은 남자 2, 4는 여자를 의미한다. 사용자로부터 13자리의 주민등록번호를 입력 받은 후 성별 (남자, 여자)를 출력하는 프로그램을 작성하라.
user = input("주민등록번호 : ")
if user.split("-")[1]in ['1', '3'] :
print("남자")
elif user.split("-")[1]in ['2', '4'] :
print("여자")
128
주민등록번호의 뒷 자리 7자리 중 두번째와 세번째는 지역코드를 의미한다. 주민 등록 번호를 입력 받은 후 출생지가 서울인지 아닌지 판단하는 코드를 작성하라
user = input("주민등록번호 : ")
number = user.split("-")[1]
if '00' <= number[1:3] <= '08' :
print('서울입니다.')
elif '09' <= number[1:3] <= '12' :
print('부산입니다.')
else :
print("정보오류")
129
주민등록번호는 13자리로 구성되는데 마지막 자리수는 주민등록번호의 유효성을 체크하는데 사용된다. 먼저 앞에서부터 12자리의 숫자에 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5를 차례로 곱한 뒤 그 값을 전부 더한다. 연산 결과 값을 11로 나누면 나머지가 나오는데 11에서 나머지를 뺀 값이 주민등록번호의 마지막 번호가 된다.
821010-1635210에 대해서 계산을 해보면 마지막 자리는 4가 되어야 함을 알 수 있다. 즉, 821010-1635210은 유효하지 않은 주민등록번호임을 알 수 있다.
다음과 같이 사용자로부터 주민등록번호를 입력받은 후 주민등록번호가 유효한지를 출력하는 프로그램을 작성하라.
user = input("주민등록번호 : ")
number1 = user.split("-")[0]
number2 = user.split("-")[1]
print(int(number1[:]))
print(int(number2[:]))
list = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6]
result1 = 0
result2 = 0
for i in range(len(number1)):
result1 += int(number1[i])*list[i]
for i in range(len(number2)) :
result2 += int(number2[i])*list[i+6]
result = 11-(result1+result2)%11
if number2[-1]==result :
print("유효한 주민등록번호입니다.")
else :
print("유효하지 않은 주민등록번호입니다.")
130
아래 코드는 비트코인의 가격 정보를 딕셔너리로 가져오는 코드이다.
import requests
btc = requests.get("https://api.bithumb.com/public/ticker/").json()['data']
btc 딕셔너리 안에는 시가, 종가, 최고가, 최저가 등이 저장되어 있다. 최고가와 최저가의 차이를 변동폭으로 정의할 때 (시가 + 변동폭)이 최고가 보다 높을 경우 "상승장", 그렇지 않은 경우 "하락장" 문자열을 출력하라.
btc
변동폭 = int(btc['max_price'])-int(btc['min_price'])
변동폭
if(변동폭+int(btc['opening_price'])>int(btc['max_price'])) :
print('상승장')
else :
print('하락장')
'Algorithm > 초보자를 위한 파이썬 300제' 카테고리의 다른 글
08. 파이썬 반복문 141 ~ 150 (0) | 2023.04.16 |
---|---|
08.파이썬 반복문 131 ~ 140 (0) | 2023.04.16 |
07. 파이썬 분기문 111 ~ 120 (0) | 2023.04.10 |
07. 파이썬 분기문 101 ~ 110 (0) | 2023.04.09 |
06. 파이썬 딕셔너리 091 ~ 100 (0) | 2023.04.06 |
댓글