파이썬 Day2
문자열 처리함수
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)#5
index = python.index("n",index + 1)
print(index) #15
print(python.find("Java")) #-1
# print(python.index("Java")) #error--종료됨 뒤에문장 진행X
print(python.count("n"))
문자열 포멧
print("a" + "b") #붙어서 합쳐짐
print("a", "b") #뛰어져서 합쳐짐
print("나는 %d살입니다." %20)
print("나는 %s을 좋아해요" %"파이썬")
print("Apple 은 %c 로 시작해요" %"A")
# %s는 잘 출력할 수 있다.
print("나는 %s살입니다." %20)
print("나는 %s색과 %s색을 좋아해요." %("파란", "빨간"))
#방법2
print("나는 {}살 입니다.".format(20))
print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간"))
print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨간"))
#방법3
print("나는 {age}살이며, {color}색을 좋아해요.".format(age = 20,color = "빨간"))
#방법4 (v3.6이상)
age =20
color = "빨간"
print(f"나는 {age}색과 {color}색을 좋아해요.")
탈출문자
print("백문이 불여일견 \n백견이 불여일타") #\n 줄바꿈
print("저는 '김지명'입니다.")
print("저는 \"김지명\"입니다.") #\" \"사용
print("C:\\GitHub\\TIL")
# \r:커서 맨안으로 이동
print("Red Apple\rPine") #Red Apple->Pine Apple
# \t:탭
print("Red\tApple")
# 예) http://naver.comp
# 규칙1: http:// 부분은 제외 > naver.compile
# 규칙2: 처음 만나늠 점(.) 이후 부분은 제외 > naver
# 규칙3: 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e'갯수 + "!"로 구성
# 예) 생성된 비밀번호: nav51!
url = "www.google.com"
my_str = url.replace("http://","") #규칙1
# print(my_str)
my_str = my_str[:my_str.index(".")]#규칙2
print(my_str) #naver 출력
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) + "!"
print("{}의 비밀번호는 {}입니다.".format(url, password)) #규칙3
리스트(List)-순서를 가지는 객체의 집합
#지하철 칸별로 10, 20, 30
# subway1 = 10
# subway2 = 20
# subway3 = 30
subway = [10, 20, 30]
print(subway)
subway = ["유재석", "조세호", "박명수"]
print(subway)
#조세호가 몇번칸의 타있나>
print(subway.index("조세호"))
#하하씨가 다음 정류장에서 다음칸에 탐
subway.append("하하")
print(subway)
#정형돈은 유재석 조세호 사이에 태워봄
subway.insert(1, "정형돈")
print(subway)
print(subway.pop())
print(subway)
print(subway.pop())
print(subway)
print(subway.pop())
print(subway)
num_list = [5, 2, 4, 3, 1]
num_list.sort()
print(num_list) #1,2,3,4,5
#순서 뒤집기
num_list.reverse() #5,4,3,2,1
print(num_list)
#모두 지우기
num_list.clear()
print(num_list) #[]
#다양한 자료형 함께 사용
num_list = [5, 2, 4, 3, 1]
mix_list = ["조세호", 20, True]
#리스트확장
num_list.extend(mix_list)
print(num_list)
데이터 사전(Dictionary)
#Dictionary
cabinet = {3:"유재석", 100:"김태호"}
# print(cabinet[3]) #유재석
# print(cabinet[100]) #김태호
# print(cabinet.get(3)) #None이라 적히고 뒤에 처리
# print(cabinet[5]) #error나고 뒤에 처리X
print(3 in cabinet) #True
print(5 in cabinet) #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) #A삭제
#key만 출력
print(cabinet.keys())
#value출력
print(cabinet.values())
print(cabinet.items())
cabinet.clear()
print(cabinet)
튜플
menu = ("돈까스", "치즈까스")
print(menu[0], menu[1])
# menu.add("생선까스")
# print(menu) #add 불가
(name, age, hobby) = ("김종국", 20, "코딩")
print(name, age, hobby)
집합
집합--중복안됨, 순서없음
my_set = {1, 2, 3, 3, 3,}
print(my_set)
java = {"유재석", "김태호", "양세형"}
python = set(["유재석","박명수"])
#교집합
print(java & python )
print(java.intersection(python))
#합집합
print(java | python)
print(java.union(python))
#차집합 (자바는 할 수 있지만 파이썬 모르는 개발자)
print(java - python)
print(java.difference(python))
#파이썬을 할 줄 아는 사람 늘어남
python.add("김태호")
print(python)
#자바를 까먹었음
java.remove("김태호")
자료구조 변경
menu= {"커피", "우유", "주스"}
print(menu, type(menu))
menu = list(menu)
print(menu, type(menu))
menu = tuple(menu)
print(menu, type(menu))
menu = set(menu)
print(menu, type(menu))
Quiz
#추첨을 통해 1명은 치킨, 3명은 커피 쿠폰을 받는다. 추첨 프로그램 작성하시오
#조건1: 편의 댓글은 20명이 작성하였고 아이디는 1~20이라고 가정
#조건2: 댓글 내용과 상간ㅇ 벗이 무작위로 추첨하되 중복 불가
#조건3: random 모듈의 shuffle과 sample을 활용
from random import *
users = range(1, 21)
users = list(users)
print(users)
shuffle(users)
print(users)
winners = sample(users, 4) #4명중 치킨1 커피 3
print(winners)
print("--당첨자 발표--")
print("치킨 당첨자: {0}".format(winners[0]))
print("커피 당첨자: {0}".format(winners[1:]))
print("--축하합니다--")