Jiveloper

[300 example of python] 121~130 분기문

by Jisight

12월 3일까지 상용 수준의 서비스 개발을 위해 파이썬 언어를 독학 중이다.  익숙해지고자 300개의 기초 문법이 담긴 파이썬 예제를 풀어보는 중이고 이와 관련된 포스팅이다.

분기문 121~130

121 사용자로부터 문자 한 개를 입력 받고 소문자일 경우 대문자로, 대문자일 경우 소문자로 변경해서 출력하라.
a = input("문자를 입력하세요: ")
if a.islower() == True:
    print(a.upper())
elif a.islower() == False:
    print(a.lower())

122 점수 구간에 해당하는 학점이 아래와 같이 정의되어있다. 사용자로부터 score를 입력받아 학점을 출력하라
score = input("점수를 입력하세요 ")
score = int(score)
gradeA = "A"
gradeB = "B"
gradeC = "C"
gradeD = "D"
gradeE = "E"
if score >= 81:
    print("당신의 학점은 ", gradeA, "입니다." )
elif score >= 61:
    print("당신의 학점은 ", gradeB, "입니다.")
elif score >= 41:
    print("당신의 학점은 ", gradeC, "입니다.")
elif score >= 21:
    print("당신의 학점은 ", gradeD, "입니다.")  
else: 
    print("당신의 학점은 ", gradeE, "입니다.")

123 사용자로부터 달러, 엔, 유로, 또는 위안 금액을 입력받은 후 이를 원으로 변환하는 프로그램을 작성하라. 
각 통화별 환율을 다음과 같다. 사용자는 100달러, 1000엔, 13유로, 100위안과 같이 금액과 통화명 사이에 공백을 넣어 입력한다고 가정한다.
cash = input("입력: ")
if cash == "100 달러":
    print("1167원")
elif cash == "1000 엔":
    print("1.096원")
elif cash == "13 유로":
    print("1268원")
elif cash == "100 위안":
    print("171원") 
else:
    print("100 달러, 1000 엔, 13 유로, 100 위안 중에 하나만 입력하세요.")
data = input("입력: ") # 100달러 
tokens = data.split() # ['100', '달러']
amount, currency = tokens
amount = float(amount)
if currency == '달러':
    print(amount * 1167)
elif currency == '엔':
    print(amount * 1.096)
elif currency == '유로':
    print(amount * 1268)
else:
    print(amount * 171)

124 사용자로부터 세 개의 숫자를 입력 받은 후 가장 큰 숫자를 출력하라
num1 = int(input("input number1: "))
num2 = int(input("input number2: "))
num3 = int(input("input number3: "))
if num1 > num2 and num1 > num3:
    print(num1)
elif num2 > num1 and num2 > num3:
    print(num2)
else:
    print(num3)

125 휴대폰 번호 앞자리에 따라 통신사는 아래와 같이 구분된다. 사용자로부터 휴대전화 번호를
입력받고 통신사를 출력하는 프로그램을 작성하라
number = input("휴대전화 번호 입력: ")
resident_registration_number = number.split("-")[0]
if resident_registration_number == "011":
    com = "SKT"
elif resident_registration_number == "016":
    com = "KT"
elif resident_registration_number == "019":
    com = "LGU"
else:
    com = "알수없음"
print(f"당신은 {com} 사용자입니다.")

126 우편번호는 5자리로 구성되는데, 앞의 세자리는 구를 나타낸다. 예를들어 강북구의 경우 010, 011, 012 세자리로 시작한다.
사용자로부터 5자리 우편번호를 입력받고 구를 판별하라.
postal_code = input("우편번호: ") 
postal_code = postal_code[:3]
if postal_code in ["010", "011", "012"]:
    print("강북구")
elif postal_code in ["014", "015", "016"]:
    print("도봉구")
else:
    print("노원구")

127 주민등록번호 뒷자리 7자리 중 첫쨰자리는 성별을 나타내는데, 1,3은 남자이고 2,4는 여자를 의미한다.
사용자로부터 13자리의 주민등록번호를 입력받은 후 성별을 출력하는 프로그램을 작성하라. 성별은 남자, 여자로 출력한다.
resident_registration_number = input("주민번호: ")
resident_registration_number = resident_registration_number.split("-")[1]
print(resident_registration_number)
if resident_registration_number[0] == "1" or resident_registration_number[0] == "3":
    print("남자")
else:
    print("여자")

128 주민등록번호의 뒷 자리 7자리 중 두번째와 세번째는 지역코드를 의미한다. 주민 등록 번호를 입력 받은 후 출생지가 서울인지 아닌지 판단하는 코드를 작성하라
resident_registration_number = input("주민번호: ")
area_code = resident_registration_number.split("-")[1]
if 0 <= int(area_code[1:3]) <= 8:
    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은 유효하지 않은 주민등록번호임을 알 수 있다.
다음과 같이 사용자로부터 주민등록번호를 입력받은 후 주민등록번호가 유효한지를 출력하는 프로그램을 작성하라
resident_registration_number = input("주민번호: ")

result1 = int(resident_registration_number[0]) * 2 + int(resident_registration_number[1]) * 3 + int(resident_registration_number[2]) * 4 + int(resident_registration_number[3]) * 5 + int(resident_registration_number[4]) * 6 + \
        int(resident_registration_number[5]) * 7 + int(resident_registration_number[7]) * 8 + int(resident_registration_number[8]) * 9 + int(resident_registration_number[9]) * 2 + int(resident_registration_number[10])* 3 + \
        int(resident_registration_number[11])* 4 + int(resident_registration_number[12]) * 5
result2 = 11 - (result1 % 11)
result3 = str(result2)

if resident_registration_number[-1] == result3[-1]:
    print("유효한 주민등록번호입니다.")
else:
    print("유효하지 않은 주민등록번호입니다.")

130 아래 코드는 비트코인의 가격 정보를 딕셔너리로 가져오는 코드이다.
btc 딕셔너리 안에는 시가, 종가, 최고가, 최저가 등이 저장되어 있다. 
최고가와 최저가의 차이를 변동폭으로 정의할 때 (시가 + 변동폭)이 최고가 보다 높을 경우 "상승장", 그렇지 않은 경우 "하락장" 문자열을 출력하라.

import requests
btc = requests.get("https://api.bithumb.com/public/ticker/").json()['data']
fluctuation = float(btc['max_price']) - float(btc['min_price'])
selling_price_ruling_time = float(btc['opening_price'])
maximum_price = float(btc['max_price'])

if(selling_price_ruling_time + fluctuation) > maximum_price:
    print("상승장")
else:
    print("하락장")

 

블로그의 정보

Jiveloper

Jisight

활동하기