20~ 50 번
021 문자열 인덱싱 letters가 바인딩하는 문자열에서 첫번째와 세번째 문자를 출력하세요.
실행 예 p t
letters = 'python'
print(letters[0],letters[2])
p t
022 문자열 슬라이싱 자동차 번호가 다음과 같을 때 뒤에 4자리만 출력하세요.
license_plate = "24가 2210" 실행 예: 2210
license_plate = "24가 2210"
print(license_plate[4:])
2210
023 문자열 인덱싱 아래의 문자열에서 '홀' 만 출력하세요.
string = "홀짝홀짝홀짝"
string[::2]
'홀홀홀'
024 문자열 슬라이싱 문자열을 거꾸로 뒤집어 출력하세요.
string = "PYTHON"
string[::-1]
'NOHTYP'
025 문자열 치환 아래의 전화번호에서 하이푼 ('-')을 제거하고 출력하세요.
phone_number = "010-1111-2222"
phone_number.replace("-", " ")
'010 1111 2222'
026 문자열 다루기 25번 문제의 전화번호를 아래와 같이 모두 붙여 출력하세요.
실행 예 01011112222
phone_number = "010-1111-2222"
phone_number.replace("-", "")
'01011112222'
027 문자열 다루기 url 에 저장된 웹 페이지 주소에서 도메인을 출력하세요.
url = "http://sharebook.kr"
url[-2:]
'kr'
028 문자열은 immutable 아래 코드의 실행 결과를 예상해보세요.
lang = 'python'
lang[0] = 'P'
print(lang)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [16], in <cell line: 2>()
1 lang = 'python'
----> 2 lang[0] = 'P'
3 print(lang)
TypeError: 'str' object does not support item assignment
029 replace 메서드 아래 문자열에서 소문자 'a'를 대문자 'A'로 변경하세요.
string = 'abcdfe2a354a32a'
string.replace("a","A")
'Abcdfe2A354A32A'
030 replace 메서드 아래 코드의 실행 결과를 예상해보세요.
string = "abcd"
string.replace("b","B")
'aBcd'
031 문자열 합치기 아래 코드의 실행 결과를 예상해보세요.
a = "3"
b = "4"
print(a + b)
34
032 문자열 곱하기 아래 코드의 실행 결과를 예상해보세요.
print("Hi" * 3)
HiHiHi
033 문자열 곱하기 화면에 '-'를 80개 출력하세요.
print("-" * 80)
--------------------------------------------------------------------------------
034 문자열 곱하기 변수에 다음과 같은 문자열이 바인딩되어 있습니다.
t1 = 'python'
t2 = 'java'
t3 = t1 +" " + t2 + " "
print(t3 * 3)
python java python java python java
035 문자열 출력 변수에 다음과 같이 문자열과 정수가 바인딩되어 있을 때 % formatting을 사용해서 다음과 같이 출력해보세요.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: ", name1,"나이: ",age1)
print("이름: ", name2,"나이: ",age2)
이름: 김민수 나이: 10
이름: 이철희 나이: 13
036 문자열 출력 문자열의 format( ) 메서드를 사용해서 035번 문제를 다시 풀어보세요.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름 : {} 나이 : {}".format(name1,age1))
print("이름 : {} 나이 : {}".format(name2,age2))
이름 : 김민수 나이 : 10
이름 : 이철희 나이 : 13
037 문자열 출력 파이썬 3.6부터 지원하는 f-string을 사용해서 035번 문제를 다시 풀어보세요.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print(f"이름 : {name1} 나이 : {age1}")
print(f"이름 : {name2} 나이 : {age2}")
이름 : 김민수 나이 : 10
이름 : 이철희 나이 : 13
038 컴마 제거하기 삼성전자의 상장주식수가 다음과 같습니다. 컴마를 제거한 후 이를 정수 타입으로 변환해보세요.
상장주식수 = "5,969,782,550"
int(상장주식수.replace(",",""))
5969782550
039 문자열 슬라이싱 다음과 같은 문자열에서 '2020/03'만 출력하세요.
분기 = "2020/03(E) (IFRS연결)"
분기[:7]
'2020/03'
040 strip 메서드 문자열의 좌우의 공백이 있을 때 이를 제거해보세요.
data = " 삼성전자 "
data.strip()
'삼성전자'
041 upper 메서드 다음과 같은 문자열이 있을 때 이를 대문자 BTC_KRW로 변경하세요.
ticker = "btc_krw"
ticker.upper()
'BTC_KRW'
042 lower 메서드 다음과 같은 문자열이 있을 때 이를 소문자 btc_krw로 변경하세요.
ticker = "BTC_KRW"
ticker.lower()
'btc_krw'
043 capitalize 메서드 문자열 'hello'가 있을 때 이를 'Hello'로 변경해보세요.
a = "hello"
a = a.capitalize()
a
'Hello'
044 endswith 메서드 파일 이름이 문자열로 저장되어 있을 때 endswith 메서드를 사용해서 파일 이름이 'xlsx'로 끝나는지 확인해보세요.
file_name = "보고서.xlsx"
file_name.endswith("xlsx")
True
045 endswith 메서드 파일 이름이 문자열로 저장되어 있을 때 endswith 메서드를 사용해서 파일 이름이 'xlsx' 또는 'xls'로 끝나는지 확인해보세요.
file_name = "보고서.xlsx"
file_name.endswith("xlsx") | file_name.endswith("xls")
True
046 startswith 메서드 파일 이름이 문자열로 저장되어 있을 때 startswith 메서드를 사용해서 파일 이름이 '2020'로 시작하는지 확인해보세요.
file_name = "2020_보고서.xlsx"
file_name.startswith("2020")
True
047 split 메서드 다음과 같은 문자열이 있을 때 공백을 기준으로 문자열을 나눠보세요.
a = "hello world"
a.split()
['hello', 'world']
048 split 메서드 다음과 같이 문자열이 있을 때 btc와 krw로 나눠보세요.
ticker = "btc_krw"
ticker.split("_")
['btc', 'krw']
049 split 메서드 다음과 같이 날짜를 표현하는 문자열이 있을 때 연도, 월, 일로 나눠보세요.
date = "2020-05-01"
date.split("-")
['2020', '05', '01']
050 rstrip 메서드 문자열의 오른쪽에 공백이 있을 때 이를 제거해보세요.
data = "039490 "
data.rstrip()
'039490'
50 ~ 70 파이썬 리스트
2016년 11월 영화 예매 순위 기준 top3는 다음과 같습니다. 영화 제목을 movie_rank 이름의 리스트에 저장해보세요. (순위 정보는 저장하지 않습니다.)
순위 영화 1 닥터 스트레인지 2 스플릿 3 럭키
moive_rank = ["닥터 스트레인지", "스플릿", "럭키"]
moive_rank
['닥터 스트레인지', '스플릿', '럭키']
052 리스트에 원소 추가 051의 movie_rank 리스트에 "배트맨"을 추가하라.
moive_rank.append("배트맨")
moive_rank
['닥터 스트레인지', '스플릿', '럭키', '배트맨', '배트맨']
053 movie_rank 리스트에는 아래와 같이 네 개의 영화 제목이 바인딩되어 있다. "슈퍼맨"을 "닥터 스트레인지"와 "스플릿" 사이에 추가하라.
movie_rank = ['닥터 스트레인지', '스플릿', '럭키', '배트맨']
movie_rank.insert(1,"슈퍼맨")
054 movie_rank 리스트에서 '럭키'를 삭제하라.
del movie_rank[3]
movie_rank 리스트에서 '스플릿' 과 '배트맨'을 를 삭제하라.
movie_rank = ['닥터 스트레인지', '슈퍼맨', '스플릿', '배트맨']
del movie_rank[2]
del movie_rank[-1]
print(movie_rank)
['닥터 스트레인지', '슈퍼맨']
056 lang1과 lang2 리스트가 있을 때 lang1과 lang2의 원소를 모두 갖고 있는 langs 리스트를 만들어라.
lang1 = ["C", "C++", "JAVA"]
lang2 = ["Python", "Go", "C#"]
lang1 + lang2
['C', 'C++', 'JAVA', 'Python', 'Go', 'C#']
057 다음 리스트에서 최댓값과 최솟값을 출력하라. (힌트: min(), max() 함수 사용)
nums = [1, 2, 3, 4, 5, 6, 7]
print(min(nums))
print(max(nums))
1
7
058 다음 리스트의 합을 출력하라.
nums = [1, 2, 3, 4, 5]
sum(nums)
15
059 다음 리스트에 저장된 데이터의 개수를 화면에 구하하라.
cook = ["피자", "김밥", "만두", "양념치킨", "족발", "피자", "김치만두", "쫄면", "소시지", "라면", "팥빙수", "김치전"]
len(cook)
12
060 다음 리스트의 평균을 출력하라.
nums = [1, 2, 3, 4, 5]
sum(nums)/len(nums)
3.0
061 price 변수에는 날짜와 종가 정보가 저장돼 있다. 날짜 정보를 제외하고 가격 정보만을 출력하라. (힌트 : 슬라이싱)
price = ['20180728', 100, 130, 140, 150, 160, 170]
price[1:]
[100, 130, 140, 150, 160, 170]
062 슬라이싱을 사용해서 홀수만 출력하라.
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums[::2]
[1, 3, 5, 7, 9]
063 슬라이싱을 사용해서 짝수만 출력하라.
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nums[1::2]
[2, 4, 6, 8, 10]
064 슬라이싱을 사용해서 리스트의 숫자를 역 방향으로 출력하라.
nums = [1, 2, 3, 4, 5]
nums[::-1]
[5, 4, 3, 2, 1]
065 interest 리스트에는 아래의 데이터가 바인딩되어 있다.
interest = ['삼성전자', 'LG전자', 'Naver'] interest 리스트를 사용하여 아래와 같이 화면에 출력하라.
출력 예시: 삼성전자 Naver
interest = ['삼성전자', 'LG전자', 'Naver']
print(interest[0],interest[2])
삼성전자 Naver
066 join 메서드 interest 리스트에는 아래의 데이터가 바인딩되어 있다.
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우'] interest 리스트를 사용하여 아래와 같이 화면에 출력하라.
출력 예시: 삼성전자 LG전자 Naver SK하이닉스 미래에셋대우
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
interest[1:]
['LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
067 join 메서드 interest 리스트에는 아래의 데이터가 바인딩되어 있다.
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우'] interest 리스트를 사용하여 아래와 같이 화면에 출력하라.
출력 예시: 삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
"/".join(interest)
'삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우'
068 join 메서드 interest 리스트에는 아래의 데이터가 바인딩되어 있다.
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우'] join() 메서드를 사용해서 interest 리스트를 아래와 같이 화면에 출력하라.
출력 예시: 삼성전자 LG전자 Naver SK하이닉스 미래에셋대우
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print("\n".join(interest))
삼성전자
LG전자
Naver
SK하이닉스
미래에셋대우
069 문자열 split 메서드 회사 이름이 슬래시 ('/')로 구분되어 하나의 문자열로 저장되어 있다.
string = "삼성전자/LG전자/Naver" 이를 interest 이름의 리스트로 분리 저장하라.
실행 예시
print(interest) ['삼성전자', 'LG전자', 'Naver']
string = "삼성전자/LG전자/Naver"
string.split("/")
['삼성전자', 'LG전자', 'Naver']
070 리스트 정렬 리스트에 있는 값을 오름차순으로 정렬하세요.
data = [2, 4, 3, 1, 5, 10, 9]
data = [2, 4, 3, 1, 5, 10, 9]
data.sort()
data
[1, 2, 3, 4, 5, 9, 10]
71 ~ 80
071 my_variable 이름의 비어있는 튜플을 만들라.
my_variable = ()
072 2016년 11월 영화 예매 순위 기준 top3는 다음과 같다. 영화 제목을 movie_rank 이름의 튜플에 저장하라. (순위 정보는 저장하지 않는다.)
순위 영화 1 닥터 스트레인지 2 스플릿 3 럭키
movie_rank = ("닥터 스트레인지", "스플릿", "럭키")
print(movie_rank)
('닥터 스트레인지', '스플릿', '럭키')
new = 1,
print(new)
(1,)
074 다음 코드를 실행해보고 오류가 발생하는 원인을 설명하라.
t = (1, 2, 3) t[0] = 'a' Traceback (most recent call last): File "<pyshell#46>", line 1, in t[0] = 'a' TypeError: 'tuple' object does not support item assignment
# tuple은 원소(element)의 값을 변경할 수 없습니다.
075 아래와 같이 t에는 1, 2, 3, 4 데이터가 바인딩되어 있다. t가 바인딩하는 데이터 타입은 무엇인가?
t = 1, 2, 3, 4
t = 1, 2, 3, 4
type(t)
tuple
076 변수 t에는 아래와 같은 값이 저장되어 있다. 변수 t가 ('A', 'b', 'c') 튜플을 가리키도록 수정 하라.
t = ('a', 'b', 'c')
t[0] = "A"
t = ('A', 'b', 'c')
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Input In [120], in <cell line: 1>()
----> 1 t[0] = "A"
2 t = ('A', 'b', 'c')
TypeError: 'tuple' object does not support item assignment
다음 튜플을 리스트로 변환하라.
interest = ('삼성전자', 'LG전자', 'SK Hynix')
interest = ('삼성전자', 'LG전자', 'SK Hynix')
interest = list(interest)
print(interest)
['삼성전자', 'LG전자', 'SK Hynix']
078 다음 리스트를 튜플로 변경하라.
interest = ['삼성전자', 'LG전자', 'SK Hynix']
interest = ['삼성전자', 'LG전자', 'SK Hynix']
interest = tuple(interest)
print(interest)
('삼성전자', 'LG전자', 'SK Hynix')
079 튜플 언팩킹 다음 코드의 실행 결과를 예상하라.
temp = ('apple', 'banana', 'cake')
a, b, c = temp
print(a, b, c)
apple banana cake
080 range 함수 1 부터 99까지의 정수 중 짝수만 저장된 튜플을 생성하라.
(2, 4, 6, 8 ... 98)
data = tuple(range(2, 100, 2))
print( data )
(2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98)
081 ~ 100
081 별 표현식 기본적으로 데이터 언패킹은 좌변의 변수와 우변 데이터 개수가 같아야 합니다. 하지만 star expression을 사용하면 변수의 개수가 달라도 데이터 언패킹을 할 수 있습니다. 튜플에 저장된 데이터 중에서 앞에 있는 두 개의 데이터만 필요할 경우 나머지 데이터의 언패킹 코드를 작성할 필요가 없습니다.
a, b, *c = (0, 1, 2, 3, 4, 5) a 0 b 1 c [2, 3, 4, 5]
다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 좌측 8개의 값을 valid_score 변수에 바인딩하여라.
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
*valid_score,_,_ = scores
print(valid_score)
[8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5]
082 다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 우측 8개의 값을 valid_score 변수에 바인딩하여라.
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a, b, * vaild_score = scores
print(scores)
[8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
083 다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 가운데 있는 8개의 값을 valid_score 변수에 바인딩하여라.
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]
a, *valid_score, b = scores
print(valid_score)
[8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8]
084 비어있는 딕셔너리 temp 이름의 비어있는 딕셔너리를 만들라.
temp = {}
085 다음 아이스크림 이름과 희망 가격을 딕셔너리로 구성하라.
이름 희망 가격 메로나 1000 폴라포 1200 빵빠레 1800
temp = {"메로나": 1000, "폴라포": 1200, "빵빠레": 1800}
temp
{'메로나': 1000, '폴라포': 1200, '빵빠레': 1800}
086 085 번의 딕셔너리에 아래 아이스크림 가격정보를 추가하라.
이름 희망 가격 죠스바 1200 월드콘 1500
tmep = {"죠스바": 1200, "월드콘": 1500}
tmep
{'죠스바': 1200, '월드콘': 1500}
087 다음 딕셔너리를 사용하여 메로나 가격을 출력하라.
ice = {'메로나': 1000, '폴로포': 1200, '빵빠레': 1800, '죠스바': 1200, '월드콘': 1500} 실행 예: 메로나 가격: 1000
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
print("메로나 가격: ", ice["메로나"])
메로나 가격: 1000
088 다음 딕셔너리에서 메로나의 가격을 1300으로 수정하라.
ice = {'메로나': 1000, '폴로포': 1200, '빵빠레': 1800, '죠스바': 1200, '월드콘': 1500}
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
ice["메로나"] = 1300
089 다음 딕셔너리에서 메로나를 삭제하라.
ice = {'메로나': 1000,
'폴로포': 1200,
'빵빠레': 1800,
'죠스바': 1200,
'월드콘': 1500}
del ice["메로나"]
090 다음 코드에서 에러가 발생한 원인을 설명하라.
icecream = {'폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000} icecream['누가바'] Traceback (most recent call last): File "<pyshell#69>", line 1, in icecream['누가바'] KeyError: '누가바'
091 딕셔너리 생성 아래의 표에서, 아이스크림 이름을 키값으로, (가격, 재고) 리스트를 딕셔너리의 값으로 저장하라. 딕셔너리의 이름은 inventory로 한다.
이름 가격 재고 메로나 300 20 비비빅 400 3 죠스바 250 100
ice = {"메로나": [300, 20], "비비빅": [400,3], "죠스바": [250,100]}
ice
{'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100]}
092 딕셔너리 인덱싱 inventory 딕셔너리에서 메로나의 가격을 화면에 출력하라.
inventory = {"메로나": [300, 20],
"비비빅": [400, 3],
"죠스바": [250, 100]}
print(inventory["메로나"][0],"원")
300 원
093 딕셔너리 인덱싱 inventory 딕셔너리에서 메로나의 재고를 화면에 출력하라.
inventory = {"메로나": [300, 20],
"비비빅": [400, 3],
"죠스바": [250, 100]}
print(inventory["메로나"][1],"개")
20 개
094 딕셔너리 추가 inventory 딕셔너리에 아래 데이터를 추가하라.
inventory = {"메로나": [300, 20],
"비비빅": [400, 3],
"죠스바": [250, 100]}
inventory["월드콘"] = [500, 7]
inventory
{'메로나': [300, 20], '비비빅': [400, 3], '죠스바': [250, 100], '월드콘': [500, 7]}
095 딕셔너리 keys() 메서드 다음의 딕셔너리로부터 key 값으로만 구성된 리스트를 생성하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
icecream_list = list(icecream.keys())
print(icecream_list)
['탱크보이', '폴라포', '빵빠레', '월드콘', '메로나']
096 딕셔너리 values() 메서드 다음의 딕셔너리에서 values 값으로만 구성된 리스트를 생성하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
icecream_list = list(icecream.values())
print(icecream_list)
[1200, 1200, 1800, 1500, 1000]
097 딕셔너리 values() 메서드 icecream 딕셔너리에서 아이스크림 판매 금액의 총합을 출력하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
sum(icecream.values())
6700
098 딕셔너리 update 메서드 아래의 new_product 딕셔너리를 다음 icecream 딕셔너리에 추가하라.
icecream = {'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000}
new_product = {'팥빙수':2700, '아맛나':1000}
icecream.update(new_product)
print(icecream)
{'탱크보이': 1200, '폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000, '팥빙수': 2700, '아맛나': 1000}
099 zip과 dict 아래 두 개의 튜플을 하나의 딕셔너리로 변환하라. keys를 키로, vals를 값으로 result 이름의 딕셔너리로 저장한다.
keys = ("apple", "pear", "peach")
vals = (300, 250, 400)
result = dict(zip(keys, vals))
result
{'apple': 300, 'pear': 250, 'peach': 400}
100 zip과 dict date와 close_price 두 개의 리스트를 close_table 이름의 딕셔너리로 생성하라.
date = ['09/05', '09/06', '09/07', '09/08', '09/09']
close_price = [10500, 10300, 10100, 10800, 11000]
close_table = dict(zip(date, close_price))
close_table
{'09/05': 10500,
'09/06': 10300,
'09/07': 10100,
'09/08': 10800,
'09/09': 11000}
'경기도 인공지능 개발 과정 > 과제' 카테고리의 다른 글
Python 숫자야구 만들기 (0) | 2022.05.29 |
---|---|
Python 초보자를 위한 파이썬 300제 (101 ~ 200) (0) | 2022.05.28 |
Python 초보자를 위한 파이썬 300제 (1 ~ 20) (0) | 2022.05.17 |
SQL 과제 - 팀별 SQL퀴즈 풀기 (0) | 2022.04.23 |
R 3차 04/18 과제 -3 (0) | 2022.04.17 |