본문 바로가기

Python/나도코딩

[Python 파이썬] 나도코딩 코딩강의 따라하기 (기본편) 4장

728x90
반응형

본 코딩강의에서 배운 4장 목차는 다음과 같다.

 

4-1. 문자열

4-2. 슬라이싱

4-3. 문자열처리함수

4-4. 문자열 포맷

4-5. 퀴즈 #3

 

 

https://www.youtube.com/watch?v=kWiCuklohdY 

출처: 파이썬 코딩 무료 강의 (기본편) - 6시간 뒤면 여러분도 개발자가 될 수 있어요 [나도코딩]

 

4-1. 문자열

※ 문자열 여러 줄 출력할 때 : """ ~ """ (큰 따옴표 3개를 앞뒤로 설정)

sentence = '나는 소년입니다' # 작은 따옴표
print(sentence)

sentence2 = "파이썬은 쉬워요" # 큰 따옴표
print(sentence2)

sentence3 = """
나는 소년이고,
파이썬은 쉬워요
"""
print(sentence3)
더보기
더보기

[실행결과]

 

나는 소년입니다            ← setence 출력


파이썬은 쉬워요            ← setence2 출력

나는 소년이고,              ← setence3 출력
파이썬은 쉬워요

 

4-2. 슬라이싱: 필요한 만큼 잘라서 사용하는 것

 

jumin = "990120-1234567"

print("성별 : " + jumin[7]) # 7번째 위치에 있는 값을 가져옴
print("연 : " + jumin[0:2]) # 0~2번째 직전값까지 가져옴 -> (0, 1)번째 있는 값만 가져오기
print("월 : " + jumin[2:4]) # (2, 3)번째 있는 값만 가져오기
print("일 : " + jumin[4:6]) # (4, 5)번째 있는 값만 가져오기

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

[실행결과]

 

성별 : 1
연 : 99
월 : 01
일 : 20


생년월일 : 990120
뒤 7자리 : 1234567
뒤 7자리 (뒤에서부터) : 1234567

 

4-3. 문자열처리함수

  • lower() : 해당 문자를 소문자로 출력
  • upper() : 해당 문자를 대문자로 출력
  • isupper() : 해당문자가 대문자인지 확인하는 함수 (대문자면 True 아니면 False 출력)
  • len(str) : 전체 문자열의 길이를 반환하여 출력
  • replace("word1", "word2") : 해당문자(word1)를 찾아서 바꾸고자하는 문자(word2)로 바꾸기
  • index("word") : 해당문자(word)의 위치 인덱스 반환
  • find("word") : 원하는 값(word) 찾기 (원하는 값이 없을 경우 -1 반환)
  • count("word": 해당 값(word)가 총 몇 번 등장하는지 반환

 

python = "Python is Amazing"

print(python.lower()) # 모든 문자가 소문자로 출력
print(python.upper()) # 모든 문자가 대문자로 출력
print(python[0].isupper()) # 0번째 문자가 대문자인지 알려줌
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")) # -1
# print(python.index("Java")) # 오류 -> 프로그램 종료

print(python.count("n")) # n이 총 몇 번 등장하는지 출력
더보기
더보기

[실행결과]

 

python is amazing
PYTHON IS AMAZING
True
17
Java is Amazing


5
15


-1
2

 

4-4. 문자열 포맷

 

  • %d : 정수 유형
  • %c : 문자 유형
  • %s : 문자열 유형, 유형 상관없이 출력이 가능
  • 변수 설정하기 : 1. % 값 or % (값1, 값2, ....)  2. .format(값1, 값2, ...) or format(변수명1=값1, 변수명2=값2 ...)

                   

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

# %s는 유형 상관없이 출력 가능
print("나는 %s살입니다." % 20) 
print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간")) # 2가지 이상 값을 사용할 때

# 방법 2
print("나는 {}살입니다.".format(20))
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간")) # 2가지 이상 값을 사용할 때
# {0}부분에 "파란", {1}부분에 "빨간"을 넣음
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}색을 좋아해요.") # 실제 변수에 저장된 값을 가져다가 씀
더보기
더보기

[실행결과]

 

----------------------------------- 방법 1

나는 20살입니다.
나는 파이썬을 좋아해요.
Apple은 A로 시작해요.


나는 20살입니다.
나는 파란색과 빨간색을 좋아해요.

----------------------------------- 방법 2
나는 20살입니다.
나는 파란색과 빨간색을 좋아해요.
나는 파란색과 빨간색을 좋아해요.
나는 빨간색과 파란색을 좋아해요.

----------------------------------- 방법 3
나는 20살이며, 빨간색을 좋아해요.
나는 20살이며, 빨간색을 좋아해요.

----------------------------------- 방법 4
나는 20살이며, 빨간색을 좋아해요.

 

4-5. 탈출문자

 

  • \n : 줄바꿈
  • \", \' : 문장 내에서 따옴표 표시
  • \\ : 문장 내에서 \ 표시
  • \r : 커서를 맨 앞으로 이동
  • \b : 백스페이스(Backspace) 역할 (한 글자 삭제)
  • \t : 텝(Tab) 역할

 

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

# \", \' : 문장 내에서 따옴표
# 저는 "나도코딩"입니다.
print("저는 '나도코딩'입니다.")
print('저는 "나도코딩"입니다.')

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

# \\ : 문장 내에서 \
print("C:\\Users\\User\\OneDrive\\Desktop\PythonWorkspace>")

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

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

# \t : 탭
print("Red\tApple")
더보기
더보기

[실행결과]

 

백문이 불여일견
백견이 불여일타


저는 '나도코딩'입니다.
저는 "나도코딩"입니다.


저는 "나도코딩"입니다.
저는 '나도코딩'입니다.


C:\Users\User\OneDrive\Desktop\PythonWorkspace>


PineApple  <--- 맨 앞부터 \r뒤의 Pine만큼 (4글자) 출력하고 다음 문자 차례대로 출력


RedApple <---- 한 글자 삭제 (Backspace)


Red     Apple  <---- 탭(Tab) 만큼 띄어쓰기

 

4-6. 퀴즈 #3 : 사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오.

 

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

 

url = "http://naver.com"
my_str = url.replace("http://", "") # 규칙 1
print(my_str)

my_str = my_str[:my_str.index(".")] # 규칙 2
# 처음부터 .의 위치 직전까지 자름 = my_str[0:5] -> 0 ~ 5 직전까지. (0, 1, 2, 3, 4)
print(my_str)

password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{0} 의 비밀번호는 {1} 입니다.".format(url, password))
더보기
더보기

[실행결과]

 

naver.com <--- 규칙 1 적용한 결과


naver <--- 규칙 2 적용한 결과


http://naver.com 의 비밀번호는 nav51! 입니다. <--- 최종 결과

 

728x90
반응형