파이썬 300제[No.031 - 040] - 파이썬 문자열2
파이썬에서 활용되는 문자열 처리 활용법에 대한 문제풀기 두번째 내용, 숙달을 위해 문제를 꼼꼼히 풀어보고
답 이외의 방법으로도 출력할 수 있는 방법을 생각해서 작성하였습니다.
No.031 문자열 합치기
문제) 아래 코드의 실행 결과를 예상해보세요.
a = "3"
b = "4"
print(a + b)
입력) "3", "4" 모두 ""로 감싸 있으므로 문자열이다. + 연산자를 활용하여 출력하게 되면 공백없이 붙어서 출력된다. 공백을 주고 싶으면 "3 " 처럼 공백을 주고 입력값을 받던가, 또는 ,로 구분지어 출력한다.
a1 = "3"
b1 = "4"
a2 = "3 "
b2 = "4"
a3 = "3"
b3 = "4"
print(a1 + b1)
print(a2 + b2)
print(a3, b3)
출력)
34
3 4
3 4
No.032 문자열 곱하기
문제) 아래 코드의 실행 결과를 예상해보세요.
print("Hi" * 3)
입력) 동일한 문자열을 3번 반복해서 한줄로 이어서 출력된다.
print("Hi" * 3)
출력)
HiHiHi
No.033 문자열 곱하기
문제) 화면에 '-'를 80개 출력하세요.
입력) *연산자를 활용하여 곱하기로 출력하라는 문제이므로 일반적인 방법으로 변수를 80번 *해주면 된다. 문자열 자체를 80번 * 연산해도 되지만 항상 변수에 값을 입력하여 출력하는 습관을 들이기 위해 변수를 지정해준다.
참고로, for문을 활용하여 80번을 출력하는 방법도 있다. 80로 적은 이유는 파이썬은 0부터 연산하고 입력값의 직전 까지 연산되기 때문이다.
hy = "-"
print(hy * 80) # 일반적인 * 연산자 활용
for i in range(80): # for문을 활용한 80번 반복 출력
print(hy, end="")
출력)
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
No.034 문자열 곱하기
문제) 변수에 다음과 같은 문자열이 바인딩되어 있습니다.
t1 = 'python'
t2 = 'java'
변수에 문자열 더하기와 문자열 곱하기를 사용해서 아래와 같이 출력해보세요.
실행 예: python java python java python java python java
입력) 2가지 방법이 있다. 변수 t1, t2만 활용하여 * 연산자를 활용하여 print 직접출력, 또는
t3라는 변수를 지정하고 t1과 t2변수에 공백 문구를 +연산자를 활용하여 연결 후 * 연산자로 출력하는 방법
t1 = 'python'
t2 = 'java'
t3 = t1 + " " + t2 + " "
print((t1+" "+t2+" ") * 4)
print(t3 *4)
출력)
python java python java python java python java
python java python java python java python java
No.035 문자열 출력
문제) 변수에 다음과 같이 문자열과 정수가 바인딩되어 있을 때 % formatting을 사용해서 다음과 같이 출력해보세요.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
이름: 김민수 나이: 10
이름: 이철희 나이: 13
입력) %s는 str(문자열), %d는(int) 정수를 나타낸다. 단 %s인 경우는 문자열만 받는 것이 아닌 숫자도 입력받을 수 있다. 각 변수가 위치된 순서대로 입력된다.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: %s 나이: %d" % (name1, age1))
print("이름: %s 나이: %d" % (name2, age2))
출력)
이름: 김민수 나이: 10
이름: 이철희 나이: 13
No.036 문자열 출력
문제) 문자열의 format( ) 메서드를 사용해서 035번 문제를 다시 풀어보세요.
입력) format() 형식을 활용하여 출력할 수 있다. ""문자열뒤에 .format(value1, value2...) 형식으로 구문을 넣으면 아래와 같이 표현 할 수 있다. {} 안에 아무값도 넣지 않으면 순서대로 입력이 되고, {0}, {1} 등 숫자를 넣어주면 format value에 순서에 맞는 값이 들어간다.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print("이름: {0} 나이: {1}".format(name1, age1))
print("이름: {0} 나이: {1}".format(name2, age2))
print("이름: {} 나이: {}".format(name1, age1))
print("이름: {} 나이: {}".format(name2, age2))
출력)
이름: 김민수 나이: 10
이름: 이철희 나이: 13
이름: 김민수 나이: 10
이름: 이철희 나이: 13
No.037 문자열 출력
문제) 파이썬 3.6부터 지원하는 f-string을 사용해서 035번 문제를 다시 풀어보세요.
입력) 파이썬 3.6 이상부터 지원하는 f-string을 사용한다. 구문은 문자열 "" 앞에 f를 붙여주고 입력받을 값을 문자열 안에 {변수} 형식으로 입력하면 변수에 입력된 값이 출력된다. % format 형식보다 가독성이 좋아서 자주 사용될 것으로 생각된다.
name1 = "김민수"
age1 = 10
name2 = "이철희"
age2 = 13
print(f"이름: {name1} 나이: {age1}")
print(f"이름: {name2} 나이: {age2}")
print(f"이름: {name2} 나이: {age1}")
print(f"이름: {name1} 나이: {age2}")
출력)
이름: 김민수 나이: 10
이름: 이철희 나이: 13
이름: 이철희 나이: 10
이름: 김민수 나이: 13
No.038 콤마 제거하기
문제) 삼성전자의 상장주식수가 다음과 같습니다. 콤마를 제거한 후 이를 정수 타입으로 변환해보세요.
상장주식수 = "5,969,782,550"
입력) replace() 와 int() 를 활용하여 문제를 푼다. 변수명.replace("변경대상", "전환될 값")으로 콤마를 없애준다.
콤마를 없앤 문자열타입의 값을 변수에 넣어주고 해당 변수를 int()로 타입변환을 하고 출력하면 string 타입이 int타입으로 전환된다.
samsung_price = "5,969,782,550"
samsung_no_comma = samsung_price.replace(",", "")
samsung_int = int(samsung_no_comma)
print(samsung_int, type(samsung_int))
출력)
5969782550 <class 'int'>
No.039 문자열 슬라이싱
문제) 다음과 같은 문자열에서 '2020/03'만 출력하세요.
분기 = "2020/03(E) (IFRS연결)"
입력) 인덱싱과 replace(), split()을 활용하여 푼다. 인덱싱을 활용하여 범위지정을 해서 출력, replace()를 활용하여 사용하지 않는 문자열은 제거하여 전환하고 출력, split()을 활용하여 문자열을 나누고 리스트화 된 데이터 중 필요한 문자열이 포함되어 있는 속성을 출력하는 방법으로 되어 있다.
bungi = "2020/03(E) (IFRS연결)"
bungi_data1 = bungi[:7] # 인덱싱 활용하여 범위 출력
bungi_data2 = bungi.replace("(E) (IFRS연결)", "") # replace()활용하여 불필요문자열 제거 후 출력
bungi_data3 = bungi.split("(E)") # split()을 활용하여 문자열을 잘라낸 후 필요한 문자열만 출력
bungi_data3_1 = bungi_data3[0]
print(bungi_data1)
print(bungi_data2)
print(bungi_data3_1)
출력)
2020/03
2020/03
2020/03
No.040 strip 메소드
문제) 문자열의 좌우의 공백이 있을 때 이를 제거해보세요.
data = " 삼성전자 "
입력) strip()은 변수입력값에 문자열 공백을 제거해주는 함수다. 사용법은 변수명.strip()으로 호출해주면 된다.
원본값은 변경하지 않고 공백이 제거된 새로운 값을 리턴해주는 방식이므로 변수를 지정해주고 해당 변수를 출력한다.
data = " 삼성전자 "
space_del_data = data.strip()
print(space_del_data)
출력)
삼성전자
'#개인연구 및 공부# > [python]' 카테고리의 다른 글
(2020.11.01)파이썬 300제 문제풀기 [No.051 - 060] - 리스트 1 (0) | 2020.11.01 |
---|---|
(2020.10.31)파이썬 300제 문제풀기 [No.041 - 050] - 파이썬문자열3 (0) | 2020.10.31 |
(2020.10.29)파이썬 300제 문제풀기 [No.021 - 030] - 파이썬 문자열 1 (0) | 2020.10.29 |
(2020.10.29)파이썬 300제 문제풀기 [No.011 - 020] - 변수 (0) | 2020.10.29 |
(2020.10.28)파이썬 300제 문제풀기 [No.001 - 010] - print() (0) | 2020.10.28 |
댓글