코 딩 | 결과 값 | 설 명 |
python = "Python is Amazing" | #변수 선언 | |
print(python.lower()) | python is amazing | # 소문자 |
print(python.upper()) | PYTHON IS AMAZING | # 대문자 |
print(python[0].isupper()) | TRUE | # 1번째 글자가 영문 대문자 인지 확인 |
print(len(python)) | 17 | #문자 길이 |
print(python.replace("Python","Java")) | Java is Amazing | #특정 문자 변경 |
index = python.index("n") | # 변수 index 는 python이라는 변수에서 "n"이 몇번째에 포함되어 있는지 찾아주는 변수. |
|
print(index) | 5 | |
index = python.index("n", index +1 ) | #2번째 "n"을 찾아주는 변수 | |
print(index) | 15 | |
print(python.find("Java")) | -1 | 해당 값이 없을 경우, -1 출력 |
print(python.index("Java")) | ValueError: substring not found |
해당 값이 없을 경우, 프로그램 종료 |
print(python.count("n")) | 2 | #n 이 몇 번 나오는지 확인하는 변수 출력 |
* .find 와 .index 차이점
=> 둘다 조건이 동일하게 찾아 질 경우에는 결과값이 같으나,
찾지 못 할 경우, find는 -1 값 출력 후, 이후 프로그램 실행,
index는 프로그램을 종료 시킴.
print("a" + "b") # 결과 값 : ab
print("a" , "b") # 결과 값 : a b (띄어 쓰기가 포함됨)
* 문자열을 출력하는 방법
-------------------------------------------------------------------------------------------
원하는 결과 값 : 나는 20살입니다.
나는 파이썬을 좋아해요
Apple은 A로 시작해요.
나는 파란색과 빨간색을 좋아해요.
-------------------------------------------------------------------------------------------
#방법 1 (%s) 정수형 , 문자형 등 입력 type을 설정해서 출력
print("나는 %d살입니다." % 20) #%d : 정수(int)
print("나는 %s을 좋아해요."% "파이썬") #%s : 문자열(string)
print("Apple 은 %c로 시작해요." %"A") #%c : 문자 1글자(character)
print("나는 %s색과 %s색을 좋아해요." %("파란", "빨간")) # %s에 2개 이상 입력 하는 방법
# %s(문자열)이 정수와 각 각의 글자를 포함하므로, %d 와 %c 대신 %s를 써도 동일한 결과 출력
#방법 2 ( {} ) / 중괄호 사용
print("나는 {}살입니다." .format(20)) # .format 에서 '.' 꼭 찍을 것
print("나는 {}색과 {}색을 좋아해요." .format("파란", "빨간")) # {}에 2개 이상 입력 하는 방법
print("나는 {0}색과 {1}색을 좋아해요." .format("파란", "빨간")) # .format 뒤에 0번째 1번째 값 출력
print("나는 {1}색과 {0}색을 좋아해요." .format("파란", "빨간")) # .format 뒤에 1번째 0번째 값 출력
#방법 3 ({변수}~~ .format(변수=변수 값) .변수 처럼 중괄호 값을 사용 할 수 있음)
print("나는 {age}살이며, {color}색을 좋아해요." .format(age=20, color="빨간"))
print("나는 {age}살이며, {color}색을 좋아해요." .format(color="빨간", age=20))
#변수처럼 선언되기 때문에 순서 상관없음
#방법 4 (Python ver 3.6이상 사용 가능) 변수 선언 후, 사용
age =20
color ="빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요." ) # 실제 선언된 변수의 값을 이용함
3. 탈출문자
- 역슬러쉬(\)를 포함한 탈출문자를 이용하여 문장 내 수정 및 원하는 결과 값 출력
탈출문자 | 설 명 |
\n | 문장(결과 값) 내에서 줄바꿈(Enter) 사용 코딩 : print("백문이 불여일견 \n백견이 불여일타") 결과 값 : 백문이 불여일견 백견이 불여일타 |
\" | 문장(결과 값) 내에서 쌍따옴표("), 따옴표(') 사용 코딩 : print("저는 \"나도코딩\" 입니다.") print("저는 \'나도코딩\' 입니다.") 결과 값 : 저는 "나도코딩" 입니다. 저는 '나도코딩' 입니다. |
\\ | 문장(결과 값) 내에서 역슬러쉬(\) 사용, 경로 등 표기 할 때 사용. 코딩 : print("C\\Users\\Admin\\Desktop") 결과 값 C\Users\Admin\Desktop |
\r | 문장(결과 값) 입력 후, 탈출 문자에 따라 커서가 가장 앞으로 이동 후, 덮어쓸 때 사용 코딩 : print("Red Apple \rPine") 결과 값 PineApple 1. Red Apple # 좌측부터 Red Apple 입력 2. 탈출문자(\r)에 따라 커서 가장 앞으로 이동 3. 앞에서 부터 Pine 입력('Red ' 띄어쓰기 포함 4Byte 덮어씀) |
\b | 문장(결과 값) 내에서 한칸 지움(Back Space) 사용 코딩 : print("Redd\bApple") 결과 값 RedApple |
\t | 문장(결과 값) 내에서 Tab 사용 코딩 : print("Red\tApple") 결과 값 Red Apple |
----------------------------------------------------------------------------------------------------------------
Quiz 3.사이트 별로 비밀번호를 만들어 주는 프로그램을 작성하시오.
규칙 1 : http:// 부분은 제외 => naver.com
규칙 2 : 처음만나는 점(.) 이후 부분은 제외 => naver
규칙 3 : 남은 글자 중 처음 세자리(nav) + 글자 갯수(5) + 글자 내 'e' 갯수 (1) + "!"로 구성
예) 생성된 비밀번호 : nav51!
----------------------------------------------------------------------------------------------------------------
Ans 1. 내가 작성한 코딩
web = "http://naver.com"
print(web)
print(web.replace("http://","")) # 규칙 1. http:// 제거
print(web.replace("http://","").find(".")) #규칙 2-1 . 위치 찾기 5
print(web.replace("http://","")[:5]) #규칙 2-2 . 위치 앞으로 슬라이싱
web1 = web.replace("http://","")[:5] # naver
web2 = web1[:3] # nav
length1 = len(web1) # length(길이) 5
count1 = web1.count("e") # count("e" 갯수 확인) 1
print(web1)
print(web2)
print(length1)
print(count1)
print(web2+str(length1)+str(count1)+"!")
----------------------------------------------------------------------------------------------------------------
Ans 2. "나도코딩" 님 답안
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))
----------------------------------------------------------------------------------------------------------------
답안 비교 Feedback
1. 변수 선언 시 1개 변수로 유지
나의 경우, 'http;//' 와 '.com' 제거를 위해 2개의 변수를 이용하였으나,
web1 = web.replace("http://","")[:5] # naver
web2 = web1[:3] # nav
나도코딩 님은
my_str = url.replace("http://","") # 동일한 my_str 이라는 변수를 규칙 1 적용 시 , 1번
#print(my_str) : naver.com
my_str = my_str[:my_str.index(".")] # 규칙 2 적용 시, 2번 사용하여 변수 갯수를 줄임.
#print(my_str) : naver
2. "." 의 위치를 찾고 수동으로 5를 입력하여 슬라이싱 범위를 설정하였으나,
print(web.replace("http://","").find(".")) #규칙 2-1 . 위치 찾기 5
print(web.replace("http://","")[:5]) #규칙 2-2 . 위치 앞으로 슬라이싱
"나도코딩" 님 코딩은 슬라이싱 범위에 명령어를 적용함
my_str = my_str[:my_str.index(".")] # 규칙 2
스스로 코딩 후, 전문가의 코딩과 비교해 보니 결과는 같으나, 확실한 센스의 차이를 느꼈다....
유튜버 '나도코딩' 님의 영상을 보며 공부 및 노트 작성합니다.
함께 공부해 나가실 분은
www.youtube.com/watch?v=kWiCuklohdY&feature=youtu.be
[Python 파이썬 독학 5일차] (0) | 2020.09.23 |
---|---|
[Python 파이썬 독학 4일차] (0) | 2020.09.22 |
[Python 파이썬 독학 3일차] (0) | 2020.09.22 |
[Python 파이썬 독학 1일차] 1-2 (0) | 2020.09.22 |
[Python 파이썬 독학 1일차] 1-1 (0) | 2020.09.22 |
댓글 영역