21번 ~ 50번까지는 문자열에 대한 문제들로 나와 있다.
파이썬으로 작성하여 주석도 같이 달았다.
파이썬 문자열 21 ~ 30 / 인덱싱과 슬라이싱
# 021 문자열 인덱싱
# letters가 바인딩하는 문자열에서 첫번째와 세번째 문자를 출력하세요.
letters = 'python'
print(letters[0]) #리스트 안에 첫번째 값 = [ 0 ]
print(letters[2]) #리스트 안에 세번째 값 = [ 2 ]
# 022 문자열 슬라이싱
# 자동차 번호가 다음과 같을 때 뒤에 4자리만 출력하세요.
license_plate = "24가 2210"
print(license_plate[4:]) # [4:8]을 적지 않아도 끝은 생략가능
#023 문자열 인덱싱
#아래의 문자열에서 '홀' 만 출력하세요.
string = "홀짝홀짝홀짝"
print(string[0:6:2]) # 0번째부터 5번째까지 2칸 씩 띄워 출력
# 024 문자열 슬라이싱
# 문자열을 거꾸로 뒤집어 출력하세요.
string = "PYTHON"
print(string[::-1]) # 시작과 끝을 비워도 시작과 끝이다. -1은 거꾸로
# 025 문자열 치환
# 아래의 전화번호에서 하이푼 ('-')을 제거하고 출력하세요.
phone_number = "010-1111-2222" #저장된 문자열은 값을 변경할 수 없다.
a = phone_number.replace("-"," ") #replace(전,후) 전 문자를 후 문자로 보여줌
print(a)
# 026 문자열 다루기
# 25번 문제의 전화번호를 아래와 같이 모두 붙여 출력하세요.
phone_number = "010-1111-2222"
a = phone_number.replace("-","") #replace(전,후) 이번엔 띄어쓰기를 없앴다.
print(a)
# 027 문자열 다루기
# url 에 저장된 웹 페이지 주소에서 도메인을 출력하세요.
url = "http://sharebook.kr" # 도메인은 kr,com 같은 끝에 주소다
a= url.split(".") # 'split'은 문자열을 구분하고 잘라서 리스트[,]로 만듬
print(a[1]) # ['http://sharebook', 'kr'] 중에 1번째 리스트 값 출력
# 028 문자열은 immutable
# 아래 코드의 실행 결과를 예상해보세요.
lang = 'python'
lang[0] = 'P' # 대문자 P와 소문자 p를 구분하자.
print(lang) # 오류가 난다.
# 029 replace 메서드
# 아래 문자열에서 소문자 'a'를 대문자 'A'로 변경하세요.
string = 'abcdfe2a354a32a' # string 변수 안에 a 를 A로 보여준다.
a = string.replace('a','A') # replace('전','후') 전 문자를 후 문자로
print(a)
# 030 replace 메서드
# 아래 코드의 실행 결과를 예상해보세요.
string = 'abcd'
string.replace('b', 'B') # b를 B로 바꾸고 싶어도 바인딩할 변수가 없다.
print(string) # string = string.replace('b', 'B')로 하면 가능
# string'변수를 새로 바인딩 해야함
파이썬 문자열 31 ~ 40 / 연산
# 031 문자열 합치기
# 아래 코드의 실행 결과를 예상해보세요.
# 실행 예:
# 34
a = "3"
b = "4"
# 정수가 아닌 문자열이라 "셋" + "넷" = 셋넷이다
print(a+b)
# 032 문자열 곱하기
# 아래 코드의 실행 결과를 예상해보세요.
# 실행 예:
# HiHiHi
print("Hi" * 3)
# 033 문자열 곱하기
# 화면에 '-'를 80개 출력하세요.
# 실행 예:
# --------------------------------------------------------------------------------
print("-" * 80)
# 034 문자열 곱하기
# 변수에 다음과 같은 문자열이 바인딩되어 있습니다.
# 변수에 문자열 더하기와 문자열 곱하기를 사용해서 아래와 같이 출력해보세요.
# 실행 예:
# python java python java python java python java
t1 = 'python'
t2 = 'java' # 문자열을 더하고 공백도 더한다.
result = (t1+" "+t2+" ") #결과 값으로 정해준다.
print(result*4) #결과 값을 x 4 한다.
# 035 문자열 출력
# 변수에 다음과 같이 문자열과 정수가 바인딩되어 있을 때
# % formatting을 사용해서 출력해보세요.
# 실행 예:
# 이름: 김민수 나이: 10
# 이름: 이철희 나이: 13
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: %s 나이: %d" % (name1, age1))
print("이름: %s 나이: %d" % (name2, age2))
# 036 문자열 출력
# 문자열의 format() 메서드를 사용해서 035번 문제를 다시 풀어보세요.
# 실행 예:
# 이름: 김민수 나이: 10
# 이름: 이철희 나이: 13
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: {} 나이: {}".format(name1, age1))
print("이름: {} 나이: {}".format(name2, age2))
# 037 문자열 출력
# 파이썬 3.6부터 지원하는 f-string을 사용해서 035번 문제를 다시 풀어보세요.
# 실행 예:
# 이름: 김민수 나이: 10
# 이름: 이철희 나이: 13
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print(f"이름: {name1} 나이: {age1}")
print(f"이름: {name2} 나이: {age2}")
# 038 컴마 제거하기
# 삼성전자의 상장주식수가 다음과 같습니다.
# 컴마를 제거한 후 이를 정수 타입으로 변환해보세요.
# 실행 예:
# 5969782550
상장주식수 = "5,969,782,550"
상장주식수 = int(상장주식수.replace(',',''))
print(상장주식수)
# 039 문자열 슬라이싱
# 다음과 같은 문자열에서 '2020/03'만 출력하세요.
# 실행 예:
# 2020/03
분기 = "2020/03(E) (IFRS연결)"
print(분기[:7]) #0~6글자 까지만 출력
# 040 strip 메서드
# 문자열의 좌우의 공백이 있을 때 이를 제거해보세요.
# 실행 예:
# 삼성전자
data = " 삼성전자 "
result = data.replace(" ","") # 이것도 정답이지만
print(result)
# 정답은 strip()함수 : 전체 공백을 제거함
# 예시 result = data.strip()
파이썬 문자열 41 ~ 50 / 메서드
# 041 upper 메서드
# 다음과 같은 문자열이 있을 때 이를 대문자 BTC_KRW로 변경하세요.
ticker = "btc_krw"
result = ticker.upper() # 대문자로 바꿔주는 함수 'upper()'
print(result)
# 042 lower 메서드
# 다음과 같은 문자열이 있을 때 이를 소문자 btc_krw로 변경하세요.
ticker = "BTC_KRW"
result = ticker.lower() # 소문자로 바꿔주는 함수 'lower()'
print(result)
# 043 capitalize 메서드
# 문자열 'hello'가 있을 때 이를 'Hello'로 변경해보세요.
# 'hello'
result = 'hello'
print(result.capitalize())
# 044 endswith 메서드
# 파일 이름이 문자열로 저장되어 있을 때 endswith 메서드를 사용해서
# 파일 이름이 'xlsx'로 끝나는지 확인해보세요.
file_name = "보고서.xlsx"
result = file_name.endswith('xlsx')
print(result)
# 045 endswith 메서드
# 파일 이름이 문자열로 저장되어 있을 때 endswith 메서드를 사용해서
# 파일 이름이 'xlsx' 또는 'xls'로 끝나는지 확인해보세요.
file_name = "보고서.xlsx"
result = file_name.endswith(('xlsx','xls'))
print(result)
# 046 startswith 메서드
# 파일 이름이 문자열로 저장되어 있을 때 startswith 메서드를 사용해서
# 파일 이름이 '2020'로 시작하는지 확인해보세요.
file_name = "2020_보고서.xlsx"
# result(결과값)을 쓰지 않고 바로 출력도 가능
print(file_name.startswith("2020"))
# 047 split 메서드
# 다음과 같은 문자열이 있을 때 공백을 기준으로 문자열을 나눠보세요.
a = "hello world"
result = a.split()
print(result) # print(a) 해버리면 "hello world" 오답 출력됨
# 변수 지정 없이 print(a.split())또한 출력 가능
# 048 split 메서드
# 다음과 같이 문자열이 있을 때 btc와 krw로 나눠보세요.
ticker = "btc_krw"
print(ticker.split("_")) # _ 밑줄 표시: underscore(언더스코어)
# 049 split 메서드
# 다음과 같이 날짜를 표현하는 문자열이 있을 때 연도, 월, 일로 나눠보세요.
date = "2020-05-01"
print(date.split("-")) # - 연결 표시: dash / hyphen(대시,하이픈)
# 050 rstrip 메서드
# 문자열의 오른쪽에 공백이 있을 때 이를 제거해보세요.
data = "039490 "
print(data.rstrip())
vscode에 입력한 그대로 복사해 왔더니 뭔가 깔끔하지 못 하다..😅
내일은 다른 방법도 찾아보고,
다음은 리스트, 튜플, 딕셔너리 문제까지,
총 51~ 100문제이다.
'📖TIL(Today I Learned)' 카테고리의 다른 글
TIL 22일 차) 베이직반 - 1 - (1) | 2024.12.12 |
---|---|
TIL 21일 차)🔥 초보자를 위한 파이썬 51~100문제 (3) | 2024.12.11 |
TIL 19일 차) 매개변수와 인수, 쉽게 구분하고 이해하기 (2) | 2024.12.09 |
WIL 2주 차) 뭘 쓸지 몰라 일단 써보고.. (7) | 2024.12.06 |
TIL 18일 차)마크다운 형식으로 TIL 작성하기 (3) | 2024.12.06 |