3-1. 문자열
- 3가지 방법
'나는 소년입니다'
"나는 소년입니다"
"""나는
소년입니다"""
3-2. 슬라이싱
jumin = "990120-1234567"
print("성별 : " + jumin[7])
print("연 : " + jumin[0:2]) # 0 부터 2 직전까지
print("월 : " + jumin[2:4])
print("일 : " + jumin[4:6])
print("생년월일 : " + jumin[:6]) # 처음부터 6 직전까지
print("뒤 7자리 : " + jumin[7:]) #7 부터 끝까지
print("뒤 7자리 (뒤에서부터) : " + jumin[-7:])
# 맨 뒤에서 7번째부터 끝까지
3-3. 문자열처리함수
- 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) # 두번째 n이 어디있늕지 알려준다
- print(index)
- print(python.find("java")) # index를 쓰면 오류가 났을때 프로그램 종료가 되는데, # find를 쓰면 -1로 표시하고 계속 진행
- print(python.count("n")) # 문장에서 n이 몇번나오는지 알려준다
3-4. 문자열포맷
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요.")
3-5.탈출문자
\n : 줄바꿈
\" \' : 문장 내에서 따옴표
\\ : 문장 내에서 \
\r : 커서를 맨 앞으로 이동
\b : 백스페이스 (한 글자 삭제)
\t : 탭
# 퀴즈
Quiz) 사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오
규칙1 : http:// 부분은 제외 => naver.com
규칙2 : 처음 만나는 점(.) 이후 부분은 제외 => naver
규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + "!"로 구성
예) 생성된 비밀번호 : nav51!
#해답
url = "http://youtube.com"
my_str = url.replace("http://", "") # 규칙 1
my_str = my_str[:my_str.index(".")] # 규칙 2
# my_str[0:5] -> 0 ~ 5 직전까지.
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{0} 의 비밀번호는 {1} 입니다.".format(url, password))
4-1. 리스트
- 하나로 묶는것 [ ]
subway = [10, 20, 30]
print(subway)
subway = ["유재석", "조세호", "박명수"]
prunt(subway)
# 조세호씨가 몇 번째 칸에 타고 있는가?
print(subway.index("조세호")
# 하하씨가 다음 정류장에서 다음 칸에 탐
subway.append("하하")
print(subway)
# 지하철에 있는 사람을 한 명씩 뒤에서 꺼냄
print(subway.pop())
print(subway)
# 같은 이름의 사람이 몇 명 있는지 확인
subway.append("유재석")
print(subway)
prunt(subway.count("유재석"))
# 정렬도 가능
num_list = [5, 2, 4, 3, 1]
num_list.sort()
#순서 뒤집기 가능
num_list.reverse()
print(num_list)
# 다양한 자료형 함께 사용
num_list = [5, 2, 4, 3, 1
mix_list = ["조세호", 20, True]
print(mix_list)
# 리스트 확장
num_list.extend(mix_list)
print(num_list)
4-2.사전
사전 = { }
cabinet = {3:"유재석", 100:"김태호"}
print(cabinet[3])
print(cabinet[100])
print(cabinet.get(3))
print(cabinet[5])
print(cabinet.get(5))
print(cabinet.get(5, "사용가능"))
print("hi")
- get을 쓰면 잘못된 키를 사용해도 프로그램이 종료되지 않고 None이라는 표시만 해준다
print(3 in cabinet ) #True
print(5 in cabinet ) #False
-3이란 키가 있으면 True, 5라는 키가 없으면 False로 표시해준다
cabinet = {"A-3":"유재석", "B-100":"김태호"}
print(cabinet["A-3"])
print(cabinet["B-100"]
# 새 손님
print(cabinet)
cabinet["A-3"] = "김종국"
cabinet["C-20"] = "조세호"
print(cabinet)
# 간 손님
del cabinet["A-3"]
print(cabinet)
-문자를 넣어도 출력이 가능 // 같은 키에다 다른 입력값을 넣으면 바뀐 입력값을 출력한다
# key들만 출력
print(cabinet.keys())
# value 들만 출력
print(cabinet.values())
# key, value 쌍으로 출력
print(cabinet.items())
#목욕탕 폐점
cabinet.clear()
4-3. 튜플
- 많이 사용되지는 않지만 속도가 빠르다. 변경되지 않는 목록을 사용할때 사용 ( )
menu = ("돈까스", "치즈까스")
print(menu[0])
print(menu[1])
#menu.add("생선까스")
# name = "김종국"
# age = 20
# honny = "코딩"
# print(name, age, hobby)
(name, age, hobby) = ("김종국", 20, "코딩")
print(name, age, hobby)
-튜플은 add기능을 사용할 수 없다
4-4. 세트
# 집합 (set)
# 중복 안됨, 순서 없음
my_set = {1,2,3,3,3}
print(my_set)
java = {"유재석", "김태호", "양세형"}
python = set(["유재석", "박명수"])
# 교집합 (java 와 python 을 모두 할 수 있는 개발자)
print(jave & python)
print(java.intersection(python))
# 합집합 (java 할 수 있거나 python 할 수 있는 개발자)
print(java | python)
print(java.union(python))
# 차집합 (java 할 수 있지만 python 은 할 줄 모르는 개발자)
print(java - python)
print(java.difference(python))
# python 할 줄 아는 사람이 늘어남
python.add("김태호")
print(python)
# java를 잊었어요
java.remove("김태호")
print(java)
#퀴즈
Quiz) 당신의 학교에서는 파이썬 코딩 대회를 주최합니다.
참석률을 높이기 위해 댓글 이벤트를 진행하기로 하였습니다.
댓글 작성자들 중에 추첨을 통해 1명은 치킨, 3명은 커피 쿠폰을 받게 됩니다.
조건1 : 편의상 댓글은 20명이 작성하였고 아이디는 1~20 이라고 가정
조건2 : 댓글 내용과 상관 없이 무작위로 추첨하되 중복 불가
조건3 : random 모듈의 shuffle 과 sample을 활용
(출력예제)
--당첨자 발표--
치킨 당첨자 : 1
커피 당첨자 : [2, 3, 4]
--축하합니다--
(활용예제)
from random import *
1st = [1,2,3,4,5]
print(1st)
shuffle(1st)
print(1st)
print(sample(1st, 1))
# 해답
from random import *
users = range(1, 21) # 1부터 20까지 숫자를 생성
users = list(users) # range를 사용하기 위해서는 list로 바꿔줘야 한다
print(users)
shuffle(users)
print(users)
winners = sample(users, 4)
print("--당첨자 발표--")
print("치킨 당첨자 : {0}".format(winners[0]))
print("커피 당첨자 : {0}".format(winners[1:]))
print("--축하합니다--")
출처 : https://www.youtube.com/channel/UC7iAOLiALt2rtMVAWWl4pnw
'Back-end > Python' 카테고리의 다른 글
파이썬 기초 - 4 ( 노트정리 ) with 나도코딩 (0) | 2020.08.24 |
---|---|
파이썬 기초 - 3 ( 노트정리 ) with 나도코딩 (0) | 2020.08.20 |
파이썬 기초 - 1 ( 노트정리 ) with 나도코딩 (0) | 2020.08.18 |