Python/공부

기본편 : 문자열 처리

sim7688 2022. 5. 23. 11:02
728x90
반응형
## 문자열 
sentence = '나는 소년입니다.'
print(sentence)
sentence2 = "파이썬은 쉬워요"
print(sentence2)
sentence3="""
나는 소년이고, 
파이썬은 쉬워요
"""
print(sentence3)


## 슬라이싱
jumin = "990120-1234567"

print("성별 :" + jumin[7])
print("연 :" + jumin[0:2]) # 0 ~ 2 직전까지(0~1)
print("월 :" + jumin[2:4])
print("일 :" + jumin[4:6])

print("생년월일 :" + jumin[:6]) # 처음부터 6 직전까지
print("뒤 7자리 :" + jumin[7:]) # 7부터 끝까지
print("뒤 7자리(뒤에서부터) :" + jumin[-7:]) # 맨 뒤에서 7번째부터 끝까지 


## 문자열처리함수
python = "Python is Amazing"
print(python.lower())
print(python.upper())
print(python[0].isupper())
print(len(python))   # 파이썬문자길이
print(python.replace("Python", "Java")) # 바꾸고 싶은 단어, 바꿀 단어

index = python.index("n")
print(index)
index = python.index("n", index + 1)
print(index)

print(python.find("Java"))  # find : 내가 원하는 값이 포함되지 않을 경우 -1로 출력
#print(python.index("Java")) # index : 내가 원하는 값이 포함되지 않을 경우 오류를 내면서 프로그램 종료 
print("hi") 

print(python.count("n")) # 찾으려는 값이 총 몇번 나오는지 갯수 


## 문자열포맷
print("a" + "b")
print("a", "b")

# 방법 1 
print("나는 %d살입니다." %20) # d : 정수값 의미 
print("나는 %s을 좋아해요" %"파이썬") # s : 문자열 
print("Apple 은 %c로 시작해요" % "A") # c : 문자
# %s
print("나는 %s살입니다." %20) 
print("나는 %s 색과 %s색을 좋아해요" % ("파란", "빨간"))

# # 방법 2
print("나는 {}살입니다.".format(20))
print("나는 {0}색과 {1}색을 좋아해요".format("파란", "빨간"))
print("나는 {1}색과 {0}색을 좋아해요".format("파란", "빨간"))

# # 방법 3
print("나는 {age}살이며, {color}색을 좋아해요".format(age=20, color="빨간"))
print("나는 {age}살이며, {color}색을 좋아해요".format(color="빨간" , age=20 ))


# # 방법 4 (v3.6 이상 ~ )
age = 20 
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요")


## 탈출문자
# \n : 줄바꿈
# print("백문이 불여일견 \n백견이 불여일타") 

# \" 또는 \' : 문장 내에서 따옴표 그대로 출력
# 저는 "나도코딩"입니다.
print("저는 '나도코딩'입니다.")
print('저는 "나도코딩"입니다.')
print("저는 \"나도코딩\"입니다.") 
print("저는 \'나도코딩\'입니다.")

# \\ : 문장 내에서 하나의 \ 
print("C:\\Users\\SYH\\Desktop\\pythonWorkspace")

# \r : 커서를 맨 앞으로 이동
print("Red Apple\rPine")

# \b : 백스페이스 (한 글자 삭제)
print("Redd\bApple")

# \t : 탭
print("Red\tApple")


## Quiz) 사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오

# 예) http://naver.com
# 규칙1 : http:// 부분은 제외 => naver.com
# 규칙2 : 처음 만나는 점(.) 이후 부분은 제외 => naver
# 규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + '!' 로 구성
#                 (nav)              (5)              (1)        (!)
# 예) 생성된 비밀번호 : nav51!                

site = "http://naver.com"

print(site[7:])
print(site[7:12])
print(site[7:10])
print(len(site[7:12]))
print(site[7:12].count('e'))

print(site[7:10] + str(len(site[7:12])) + str(site[7:12].count('e')) + "!")

# => 총 30분 소요 

# ### 정답 ###
1) 변수 만들기
url = "http://naver.com"
# 2) 규칙1 : http:// 부분은 제외 => naver.com
my_str = url.replace("http://", "")  # http://을 찾아서 ""(빈칸)으로 만들겠다.
# print(my_str)
# 3) 규칙2 : 처음 만나는 점(.) 이후 부분은 제외 => naver
my_str = my_str[:my_str.index(".")] # my_str 변수 안에 있는 문자열 중에서 my_str 문자열에서 처음 나오는 "."의 위치 직전까지 
                                    # ex) my_str[0:5] -> 0 ~ 5 직전까지 (0,1,2,3,4)
#print(my_str)
# 4) 규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + '!' 로 구성
#                   (nav)              (5)              (1)        (!)
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{0}의 비밀번호는 {1}입니다.".format(url, password))

 

 

참고

- 영상 '나도 코딩 [기본편]'

728x90
반응형