Rylah's Study & Daily Life

[Python Basic] 04. 문자열, 슬라이싱, 문자열 함수, 포맷, Escape 본문

Study/Python Basic

[Python Basic] 04. 문자열, 슬라이싱, 문자열 함수, 포맷, Escape

Rylah 2022. 1. 18. 11:34
# 문자열
sentence = '나는 소년입니다.'
print(sentence)
sentence2 = "파이썬은 쉬워요"
print(sentence2)
sentence3 = """
나는 소년이고,
파이썬은 쉬워요.
"""
print(sentence3)

# 2.문자열 슬라이싱
jumin = "990120-1234567"
print("성별 : " + jumin[7])
print("연 : " + jumin[0:2]) # 0 : 2 => 0 ~ 1 앞은 포함 뒤는 미만 (0, 1)
print("월 : " + jumin[2:4]) # 2 : 4 => 2 ~ 3
print("일 : " + jumin[4:6]) # 4 : 6 => 4 ~ 5

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

# 3. 문자열 처리 함수
python = "Python is Amazing"
print(python.lower()) # All Lower Case
print(python.upper()) # All Upper Case
print(python[0].isupper()) # True
print(python[0].islower()) # False
print(len(python)) # python Length
print(python.replace("Python", "C++"))
index = python.index("n")
print(index) # 5
index = python.index("n", index + 1) # 첫 n 다음 n 찾기
print(index) # 15

print(python.find("n")) # Find n
print(python.find("Java")) # Not Find is -1
# print(python.index("Java")) # Error

print("hi") # index 오류 나면 진행이 되지 않음
print(python.count("n")) # Counting

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

# 방법 1
print("나는 %d살입니다." % 20) # %d = 정수
print("나는 %s을 좋아해요." % "Python")
print("Apple은 %c로 시작해요." % "A")

# %s로 쓰면 각 출력을 잘 할 수 있다.
print()
print("나는 %s살입니다." % 20)
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간"))

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

print()

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

print()

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

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

print()

# \" \' : 문장 내에서 따옴표 사용
# 저는 Rylah입니다.
print("저는 'Rylah'입니다.")
print('저는 "Rylah"입니다.')
print("저는 \"Rylah\"입니다.")
print('저는 \'Rylah\'입니다.')

# \\ : 문장 내에서 \
print("c:\\Users\\Rylah\\Documents\\GitHub\\Study\\Python-Basic")

# \r : 커서를 맨 앞으로 이동
print()
print("Red Apple\rPine") # PineApple -> Red Apple => \r => 커서 이동 => Pine(Red ) + Apple

# \b : 백스페이스 (한 글자 삭제)
print("Redd\b Apple") # Redd Apple => Red Apple

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

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

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

예) 생성된 비밀번호 : nav51!

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

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

# 예) 생성된 비밀번호 : nav51!

# 직접 작성한 답안
origin = "http://naver.com"
origin = "http://daum.net"
origin = "http://youtube.com"
#origin = "http://google.com"
#origin = origin[origin.index("/") + 2:]
origin = origin.replace("http://", "")
print(origin)
origin = origin[:origin.index(".")]
print(origin)
pwd = origin[0:3] + str(len(origin)) + str(origin.count("e")) + "!"
print(pwd)

print()
# 예제
url = "http://naver.com"
my_str = url.replace("http://", "") # 규칙 1
print(my_str)
my_str = my_str[:my_str.index(".")]  # my_str[0:5] -> 0 ~ 5 직전까지
print(my_str)
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print(password)

Using IDE : Visual Studio Code