다음의 문제들은 Do it! 파이썬 생활 프로그래밍 서적 및 위키독스(wikidocs.net/book/2)에 출처가 있음을 밝힙니다.
# Q1
if 3 range(5):
print('there is 3')
# 실행값 'there is 3'
# A1
if 3 in range(5) :
print('there is 3')
# Q2
for i in range(10):
print(i)
# 마지막에 출력되는 글자는?
# A2
9
# Q3
# 평균나이구하기, 팀원은 모두6명, 결괏값은 소수점 첫재짜리
# 이부장 50, 최과장 45,김대리 33,박대리39, 이주임29, 오사원 30
# A3
list_1 = [50, 45, 33, 39, 29, 30]
avg = sum(list_1) / len(list_1)
print(round(avg, 1))
# Q4
# for 문을 이용하여 구구단 2단부터 19단까지 만들기 (range와 list)
# A4
for i in range(1,20):
for j in range(1,20):
print("{} x {} = {}".format(i,j,i*j))
## array 를 이용한 2단 표현
array_1 = [1,2,3,4,5,6,7,8,9]
for i in array_1:
print("{} x {} = {}".format(2,i,2 * i))
# Q5
# 환율계산기를 만들어보기
# 1원이 0.00086달러라고 했을때, 100만원을 달러로 환전하면 얼마정도일까?
# A5
exchange_rate = lambda won: won*0.00086
print(int(exchange_rate(1000000)))
# Q6
# 사용자가 정수만 입력한다는 가정하에, 함수를 사용하여 사용자에게 입력을 받고, 홀짝을 구분하여 대답하는 프로그램을 구성해보아라.
# A6
def even_odd() :
a = int(input("정수를 하나 입력해 주세요. "))
if a % 2 == 0:
print("{} 는 짝수입니다.".format(a))
else:
print("{} 는 홀수입니다.".format(a))
## is와 is not을 사용한 예
def even_odd() :
a = int(input("정수를 하나 입력해 주세요. "))
if a % 2 is 0:
print("{} 는 짝수입니다.".format(a))
else:
print("{} 는 홀수입니다.".format(a))
# Q7
# 서비스 부가세 계산 프로그램.
# 박대리는 서비스의 부가세 계산으로 곤혹을 겪고 있다.
# 다음 부가세가 포함되어 있지 않는 세가지 가격에 대해 부가세가 들어간 가격을 구하는 프로그램을 작성하라.
# ! 사용자에게 부가세 포함여부를 물음 !
prices = [23, 40, 67]
#def cal_vat(price_list):
# vat_list = []
# for price in price_list:
# vat = round(price * (1 / 11), 1)
# vat_list.append(vat)
# return vat_list
#
#print(cal_vat(prices))
# 서비스는 a,b,c 한정이므로 가격은 프로그램안에 내장
# 부가세가 필요하면 부가세를 구한뒤 합쳐서 리턴
# 부가세가 필요하지 않으면 원가를 리턴
def cal_vat_service():
answer = input("서비스 종류를 입력하여 주세요(a/b/c")
if answer is "a":
vat = round( 23 * (1 / 11), 1)
result = 23 + vat
print("a 서비스의 부가세 포함 가격은 {}입니다.".format(result))
elif answer is "b":
vat = round( 40 * (1 / 11), 1)
result = 40 + vat
print("b 서비스의 부가세 포함 가격은 {}입니다.".format(result))
else:
vat = round( 67 * (1 / 11), 1)
result = 67 + vat
print("c 서비스의 부가세 포함 가격은 {}입니다.".format(result))
# 모범답안
def service_price():
service = input("서비스의 종류를 입력하세요, a/b/c : ")
valueAdded = input("부가세를 포함합니까? y/n")
if valueAdded is 'y':
if service is 'a':
result = 23 * 1.1
elif service is 'b':
result = 40 * 1.1
else:
result = 67 * 1.1
else:
if service is 'a':
result = 23
elif service is 'b':
result = 40
else:
result = 67
print(round(result, 1), '만 원입니다.')
# Q8
# 다음 함수 mean을 사용하면 오류가 나타난다.
# 오류를 해결해보아라
def mean(a,b):
print((a+b/2))
mean(33,22) # 27.5
45 + mean(33,22) # error
# A8
def mean(a, b):
return (a+b) / 2
45 + mean(33,22) # 72.5
# Q9
# 다음 리스트 b에 있는 숫자 중 10 미만은 그대로 출력하고 10 이상은 1의 자리만 출력하고 싶을때 빈칸에 들어가야 할 명령어는 무엇인가?
b = [1, 2, 3, 10, 11, 12]
for i in b:
if i<10:
print(i)
:
print(i-10)
# A9
b = [1, 2, 3, 10, 11, 12]
for i in b:
if i<10:
print(i)
else :
print(i-10)
# Q10
# 정규표현식을 사용하여 다음의 문자열에서 ly로 끝나는 단어 추출해보기
# A10
import re
sentence = "I love a lovely dog, really. I am not telling a lie"
re.search(r'[-ly]',sentence) # l
# 모범답안
re.findall(r'\w+ly',sentence) # \w 공백이 아닌 문자나 숫자 , + 반복하는 문자 , ly로 끝
print(re.findall(r'\w+ly',sentence)) #['lovely', 'really']
# Q11
# words 리스트에 저장된 여러 단어 중 a로 시작되는 단어만 출력하려 합니다. 빈칸에 어떤 명령어를 채워야 하나?
import re
words = ['apple', 'cat', 'brave', 'drama', 'arise', 'blow', 'coat', 'above']
for i in words:
m = re.match(r'a\D+', i)
if m:
print( )
# A 11
import re
words = ['apple', 'cat', 'brave', 'drama', 'arise', 'blow', 'coat', 'above']
for i in words:
m = re.match(r'a\D+', i)
if m:
print( m.group() )
"""
# Q12
# a에 저정한 문자열에서 메일 주소만 추출해 리스트로 반환하려 한다. 반환하라
#import re
#a = '제 이메일 주소는 greatking@naver.com 입니다. 오늘 저는 travel@daum.net 라는 주소로 메일을 보내려고 합니다. 저는 apple@gmail.com, life@abc.co.kr 라는 메일도 사용 하고 있습니다.'
#b = re.findall(r'[a-z]+@[a-z]+\.[a-z]+',a)
#print(b)
# 모범답안
import re
a = '제 이메일 주소는 greatking@naver.com 입니다. 오늘 저는 travel@daum.net 라는 주소로 메일을 보내려고 합니다. 저는 apple@gmail.com, life@abc.co.kr 라는 메일도 사용 하고 있습니다.'
b = re.findall(r'[a-z]+@[a-z.]+',a)
print(b)
'Language > Python' 카테고리의 다른 글
2021 - 04 - 21, Python 상속(Inheritance) (0) | 2021.04.26 |
---|---|
2021 - 04 - 20, Python 학습 연습문제 풀이 (0) | 2021.04.26 |
2021 - 04 - 18, Python 학습 - 모델링, 메소드 (0) | 2021.04.18 |
2021 - 04 - 17, Python 학습 - 정규표현식(Regular Expression) (0) | 2021.04.17 |
2021 - 04 - 17, Python 학습 - os모듈 (0) | 2021.04.17 |