나도코딩의 파이썬 입문_코딩자율학습단
4장_ 문자열 다루기
4.1 문자열
# 문자열
sentence = '나는 소년입니다.'
print(sentence)
sentence2 = "파이썬은 쉬워요"
print(sentence2)
sentence3 = """
나는 소년이고,
파이썬은 쉬워요
"""
print(sentence3)
# 변수 자료형 확인
type(sentence1) # <class 'str'>
4.2 원하는 만큼 문자열 자르기 : 슬라이싱
# 슬라이싱
jumin = "990120-1234567"
print("성별 : " + jumin[7]) # 7번째 값 출력 : 1
print("연 : " + jumin[0:2]) # 0부터 2 직전값까지(0,1) : 99
print("월 : " + jumin[2:4]) # 2부터 4 직전값까지(2,3) : 01
print("일 : " + jumin[4:6]) # 4부터 6 직전값까지(4,5) : 20
print("생년월일 : " + jumin[:6]) # 처음부터 6 직전값까지 : 990120
print("뒤 7자리 : " + jumin[7:]) # 7부터 끝까지 : 1234567
print("뒤 7자리(뒤에서부터) : " + jumin[-7:] # 맨 뒤(-1)에서 7번째 ~ 끝까지 : 1234567
# 주의
# 주의
# 실행결과 : apple
fruit = "apple"
print(fruit[:])
print(fruit[0:])
print(fruit[:5])
print(fruit[:-1]) # 실행결과 : appl 처음부터 -1(e)직전값 까지
4.3 함수로 문자열 처리
# 문자열 처리 함수
python = "Python is Amazing"
print(python.lower()) # lower 소문자 : python is amazing
print(python.upper()) # upper 대문자 : PYTHON IS AMAZING
print(python[0].isupper()) # 0번째 글자가 대문자인지 : True
print(python[1:3].islower()) # 1,2번째 글자가 소문자인지 : True
print(len(python)) # len 문자열 길이 : 17
print(python.replace("Python", "Java") # replace 글자 변경 : Java is Aamazing
index = python.index("n") # index 찾는 문자가 몇번째 위치인지 : 5
print(index)
index = python.index("n", index + 1) # 인덱스 6이후부터 n 위치 찾기 : 15
print(index)
print(python.find("n")) # find 찾는 문자가 몇번쨰 위치인지 : 5
# index 함수와 find 함수의 차이점
print(python.find("Java")) # find 찾는 문자가 없을 경우 => -1 반환, 계속 수행
print(python.index("Java")) # index 찾는 문자가 없을 경우 => 오류, 프로그램 종료
print("hi") # index 오류 및 종료 / find -1 반환 후 hi 출력
print(python.count("n")) # 찾는 문자가 몇 번 나오는지 : 2
4.4 문자열 포맷팅
# 문자열 포맷팅
print("a" + "b") # ab
print("a" , "b") # a b
# 방법 1
print("나는 %d살 입니다." % 20) # %d : 정수값을 d에 넣는다
print("나는 %s을 좋아해요." % "파이썬") # %s : 문자열을 s에 넣는다
print("Apple은 %c로 시작해요." % "A") # %c : 한 글자 문자를 c에 넣는다
# %s
print("나는 %s살 입니다." %20) # %s는 숫자, 한 글자 또한 가능
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간")) # 값이 여러개
# 방법 2
print("나는 {}살 입니다".format(20)) # .format()의 값을 {}에 넣는다
print("나는 {}색과 {}색을 좋아해요".format("파란", "빨간")) # 파란색과 빨간색
print("나는 {1}색과 {0}색을 좋아해요".format("파란", "빨간")) # 빨간색과 파란색
# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요".format(age = 20, color = "빨간"))
print("나는 {age}살이며, {color}색을 좋아해요".format(color = "빨간", age = 20))
# 방법 4 (v.3.6 이상~)
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.")
4.5 탈출문자
# 탈출 문자
print("백문이 불여일견 \n백견이 불여일타") # \n 줄바꿈해서 출력
# 실행 값 : 저는 "나도코딩" 입니다.
print("저는 '나도코딩'입니다.")
print('저는 "나도코딩"입니다.')
print("저는 \"나도코딩\"입니다.) # \" ~~~ \" : 문장 내에서 "~~~" 출력
print("저는 \'나도코딩\'입니다.) # \' ~~~ \' : 문장 내에서 '~~~' 출력
# \\ : 문장 내에서 \ 출력
print("C:\\Users\\python\\Desktop\\PythonWorkspace")
# \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine") # 커서 맨 앞으로 이동해 Red => Pine : PineApple
# \b : 백스페이스(한 글자 삭제)
print("Redd\bApple") # RedApple
# \t : 탭
print("Red\tAppel") # Red Apple
# 실습 문제
# 실습 문제
# 사이트별로 비밀번호를 생성하는 프로그램
# http://naver.com | http://daum.net | http://google.com | http://youtube.com
# 조건) http:// 부분 제외, 처음 만나는 점(.)이후 부분 제외
# 남은 글자 중 첫 세자리 + 글자 개수 + 글자 내 'e' 개수 + '!' 구성
url = "http://naver.com"
# url = "http://google.com"
my_str = url.replace("http://", "") # 조건) http:// 제외 => naver.com
# print(my_str)
my_str = my_str[:my_str.index(".")] # 조건) 처음 만나는 점(.) 이후 부분 제외 => naver
# my_str[0:5] => 0 ~ 5 직전값까지 (0,1,2,3,4)
# 조건) 남은 글자 중 첫 세자리(nav) + 글자 개수(5) + 글자 내 'e' 개수(1) + "!"
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{0} 의 비밀번호는 {1} 입니다.".format(url, password))
# url = "http://naver.com" => nav51!
# url = "http://google.com" => goo61!
# 셀프 체크
# 셀프 체크
# 주어진 영어 문장을 첫 글자는 대문자로, 나머지 글자는 모두 소문자로 변환하는 프로그램
sentence = "the early bird catches the worm."
sentence = "Actions Speak Louder Than Words."
sentence = "PRACTICE MAKES PERPECT."
print(str(sentence[:1].upper()) + str(sentence[1:].lower()))
# 답) print(sentence[0].upper() + sentence[1:].lower())
# 파이썬 제공 문자열 함수 => print(sentence.capitalize())
# 실습 결과



'python > 코딩자율학습단' 카테고리의 다른 글
| 나도코딩의 파이썬 입문_6장 (0) | 2025.01.22 |
|---|---|
| 나도코딩의 파이썬 입문_5장 (0) | 2025.01.21 |
| 나도코딩의 파이썬 입문_3장 (0) | 2025.01.17 |
| 나도코딩의 파이썬 입문_2장 (0) | 2025.01.17 |
| 나도코딩의 파이썬 입문_1장 (0) | 2025.01.16 |