#set(집합) = 중복이 안되고 , 순서가 없다

세트 = {1,2,1,2,3,3,3,1,1}

print(세트#출력은 {1, 2, 3} 이와 같이 된다 

 

# 서로 다른 변수내의 교집합과 합집합을 만들어보자

자바개발자 = {"유재석""김태호""양세형"}

파이썬개발자 = set(["유재석""박명수"])

 

# 교집합

# 자바와 파이썬을 모두할수 있는 유재석을 출력해보자

print(자바개발자 & 파이썬개발자

# 다른 방식의 교집합

print(자바개발자.intersection(파이썬개발자))

 

#합집합

# 자바개발자와 파이썬개발자를 모두 출력해보자

print(자바개발자 | 파이썬개발자)

# 다른 방식의 합집합

print(자바개발자.union(파이썬개발자))

# 나름 가나다 순으로 정리해 주는 것 같다 

 

#차집합

# 순수 자바개발자만 출력해보자

print(자바개발자 - 파이썬개발자)

# 다른 방식의 차집합

print(자바개발자.difference(파이썬개발자))

 

#자료 추가 

파이썬개발자.add("조세호")

print(파이썬개발자)

자바개발자.add("황광희")

print(자바개발자)

print(자바개발자 | 파이썬개발자

# 가나다 순으로 정리 해주는 줄 알았는데 이제보니 아닌거 같다 무슨 법칙이 있는걸까?

 

#자료 삭제

자바개발자.remove("김태호")

print(자바개발자)

파이썬개발자.remove("유재석")

print(파이썬개발자)

print(자바개발자 & 파이썬개발자

# 위 구문에서 자바개발자와 파이썬개발자에 같이 있던 유재석이 없어지자

# "set()" 를 출력하였다 

print(자바개발자 | 파이썬개발자)

print(자바개발자 - 파이썬개발자)

--------------------------------------------------------------------------------------------------------------------

출력 예)

{1, 2, 3}
{'유재석'}
{'유재석'}
{'양세형', '유재석', '박명수', '김태호'}
{'양세형', '유재석', '박명수', '김태호'}
{'양세형', '김태호'}
{'양세형', '김태호'}
{'유재석', '조세호', '박명수'}
{'유재석', '황광희', '양세형', '김태호'}
{'양세형', '유재석', '조세호', '박명수', '김태호', '황광희'}
{'유재석', '황광희', '양세형'}
{'조세호', '박명수'}
set()
{'양세형', '유재석', '조세호', '박명수', '황광희'}
{'황광희', '양세형', '유재석'}

'[파이썬] 공부' 카테고리의 다른 글

[파이썬] 튜플  (0) 2021.03.06
[파이썬]사전  (0) 2021.03.03
[파이썬] 리스트  (0) 2021.02.24
[파이썬] 탈출문자  (0) 2021.02.20
[파이썬] 문자열 포맷  (0) 2021.02.19

#튜플 = 내용변경이나 추가 할수 없다 다만 리스트보다 출력이 빠르다

메뉴 = ("돈까스""치즈까스")

print(메뉴[0])

print(메뉴[1])

 

# 메뉴.add("생선까스") 아까도 말했지만 메뉴 추가를 할수 없다

# File "g:\pythonwork\practice.py", line 6, in <module>

#     메뉴.add("생선까스")

# AttributeError: 'tuple' object has no attribute 'add'

# 위 와 같은 에러를 낸다 

 

#일반적인 value입력방식

이름 = "유재석"

나이 = 40

취미 = "코딩"

print(이름나이취미)

 

#튜플을 이용한 value입력방식

이름나이취미 = "박명수"50"코딩"

print(이름나이취미)

print(이름)

print(나이)

print(취미)

# 이와같이 다양한 사용이 가능하다 

---------------------------------------------------------------------------------------------------------------------------------

출력 예)

돈까스
치즈까스
유재석 40 코딩    
박명수 50 코딩    
박명수
50
코딩

'[파이썬] 공부' 카테고리의 다른 글

[파이썬] 집합  (0) 2021.03.06
[파이썬]사전  (0) 2021.03.03
[파이썬] 리스트  (0) 2021.02.24
[파이썬] 탈출문자  (0) 2021.02.20
[파이썬] 문자열 포맷  (0) 2021.02.19

# 오랫만에 돌아왔다 바빴다.....

 

# 사전 = 단어가 있으면 그 옆에 설명이있는 그 사전 맞다;;;;

# 다만 key가 있으면 그 옆에 value를 출력하는 것이다

 

캐비넷 = {3:"유재석"100:"김태호"}

print(캐비넷[3])

print(캐비넷[100])

# print(캐비넷[1]) 키에 없는 값을 넣으면 에러가 난고 나머지도 실행이 안된다

# 다른 방법은 있다 

print(캐비넷.get(3)) # 위에 구문이랑 출력되는 건 같다 

print(캐비넷.get(1)) # 없는 키를 넣으면 에러대신 "none"출력문을 낸고 나머지 구문도 실행가능하다

#"none"출력문 대신 다른 글자가 출력되게 할수 있다 

print(캐비넷.get(1"사용가능"))

#해당 키에 자료가 있는지 확인하고 싶을때

print(3 in 캐비넷#자료가 있으므로 true

print(5 in 캐비넷#자료가 없으므로 false를 출력한다

 

# 사전자료형 정수가 아닌 단어를 사용하고 싶을때

캐비넷 = {"A-3":"유재석""B-100":"김태호"}

print(캐비넷["A-3"])

# print(캐비넷["a-3"]) key값은 대소문자 구분해줘야 한다 

print(캐비넷["B-100"])

 

#자료 추가할때

print(캐비넷#{'A-3': '유재석', 'B-100': '김태호'}

캐비넷["A-3"] = "김종국" #유재석을 김종국으로 바꾸겠단 뜻

캐비넷["C-20"] = "조세호" #조세호를 추가하겠다는 뜻

print(캐비넷#{'A-3': '김종국', 'B-100': '김태호', 'C-20': '조세호'}

 

#사전에 있는 내용을 확인할때 

# 1. key만 확인할때 

print(캐비넷.keys()) #dict_keys(['B-100', 'C-20'])

 

# 2. Value만 확인할때

print(캐비넷.values()) #dict_values(['김태호', '조세호'])

 

# 3. 둘다 같이 확인할때

print(캐비넷.items()) #dict_items([('B-100', '김태호'), ('C-20', '조세호')])

 

#자료 삭제

print(캐비넷#{'A-3': '김종국', 'B-100': '김태호', 'C-20': '조세호'}

del 캐비넷["A-3"

print(캐비넷#{'B-100': '김태호', 'C-20': '조세호'}

 

# 모든 자료삭제

캐비넷.clear()

print(캐비넷# {} 모든 자료가 비었으므로 {}괄호만 출력된다 

------------------------------------------------------------------------------------------------------------------------

출력 예)

유재석
김태호
유재석
None
사용가능
True
False
유재석
김태호
{'A-3': '유재석', 'B-100': '김태호'}
{'A-3': '김종국', 'B-100': '김태호', 'C-20': '조세호'}
dict_keys(['A-3', 'B-100', 'C-20'])
dict_values(['김종국', '김태호', '조세호'])
dict_items([('A-3', '김종국'), ('B-100', '김태호'), ('C-20', '조세호')])
{'A-3': '김종국', 'B-100': '김태호', 'C-20': '조세호'}
{'B-100': '김태호', 'C-20': '조세호'}
{}

'[파이썬] 공부' 카테고리의 다른 글

[파이썬] 집합  (0) 2021.03.06
[파이썬] 튜플  (0) 2021.03.06
[파이썬] 리스트  (0) 2021.02.24
[파이썬] 탈출문자  (0) 2021.02.20
[파이썬] 문자열 포맷  (0) 2021.02.19

# 리스트 

 

#지하철 칸별로 10명, 20명, 30명  탑승

subway1 = 10

subway2 = 20

subway3 = 30

print("["+str(subway1)+", " + str(subway2)+", "str(subway3)+"]")

#일일이 변수를 만들어 리스트를 만들어도 된다 

 

# 이것을 한데 묶어주면 편하다

subway = [10,20,30]

print(subway)

# 출력문을 보면 같은 값이 출력된 것을 알수 있다 

 

# 리스트에 있는 단어 위치 찾기

지하철 = ["유재석""조세호""박명수"]

print(지하철)

print(지하철.index("조세호")) #리스트에 두번째 위치하는 걸 알수 있다. 

#항상 순서는 "0" 부터 시작한다는걸 명심하자

 

# 리스트에 추가

지하철.append("하하")

print(지하철)

#이 방법은 항상 리스트의 끝에 추가가 된다

 

#리스트 중간에 추가

지하철.insert(1"정형돈"#항상 기억하자 순서는 "0","1","2","3"

print(지하철) #곧 함수는 "1"을 넣어지만 두번째자리에 추가되는 것이다

 

#리스트 제외

print(지하철.pop()) # 이 자체로는 누가 제외됐는지만을 출력한다

print(지하철) # 그후 출력문은 제외된걸 제외한 나머지만 출력한다 

 

#리스트 중복 확인

지하철.append("유재석"#같은 이름이 없어서 추가 한것 이다 

print(지하철)

 

print(지하철.count("유재석")) # 숫자"2"를 출력하여 2개가 존재하는 것을 알수 있다

 

#리스트 정렬

지하철.sort() #한글 가나다 순으로 정렬한다

print(지하철)

 

지하철.reverse() #한글 다나가 역순으로 정렬한다 

print(지하철) #한글이 가능하니 영어, 숫자 다 가능하다

 

# 리스트 확장 = 두개의 리스트를 합치는 것

숫자 = [1,3,4,5,2# 위에 이름 리스트가 있으니 숫자 리스트를 추가한다

숫자.sort() #숫자를 정렬한다

지하철.extend(숫자) #지하철리스트에 숫자리스트를 추가한다

print(지하철) #출력한다 



#리스트 삭제

지하철.clear() # 말그대로 삭제이다

print(지하철)


---------------------------------------------------------------------------------------------------------------------------------

출력 예)

[10, 20, 30]
[10, 20, 30]
['유재석', '조세호', '박명수']
1
['유재석', '조세호', '박명수', '하하']
['유재석', '정형돈', '조세호', '박명수', '하하']
하하
['유재석', '정형돈', '조세호', '박명수']
['유재석', '정형돈', '조세호', '박명수', '유재석']
2
['박명수', '유재석', '유재석', '정형돈', '조세호']
['조세호', '정형돈', '유재석', '유재석', '박명수']
['조세호', '정형돈', '유재석', '유재석', '박명수', 1, 2, 3, 4, 5]
[]

'[파이썬] 공부' 카테고리의 다른 글

[파이썬] 튜플  (0) 2021.03.06
[파이썬]사전  (0) 2021.03.03
[파이썬] 탈출문자  (0) 2021.02.20
[파이썬] 문자열 포맷  (0) 2021.02.19
[파이썬] 문자열 처리 함수  (0) 2021.02.19

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

 

# 예) http://naver.com

# 규칙1 : http:// 부분은 제외 => naver.com

# 규칙2 : 처음만나는 점(.) 이후 부분은 제외 => naver

# 규칙3 : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + "!"로 구성

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






























url = "http://naver.com"

rule1 = url.replace("http://"""#규칙1 = url에서 "http://" 제외

rule2 = rule1[:rule1.index(".")]   #규칙2 = 규칙1에서 index를 사용하여 "."이후 문자 제외

rule3 = rule2[:3] + str(len(rule2)) + str(rule2.count("e")) + "i"

# 규칙3 = 규칙2에서 nav만 추출 + 규칙2에서 글자개수 측정 + 규칙2에서 "e"갯수 측정 + "i"삽입

print("{0}의 비밀번호는 ({1})입니다.".format(url, rule3)) # 점점 어렵다;;;;;;;;;;;

--------------------------------------------------------------------------------------------------------------------

출력 예)

http://naver.com의 비밀번호는 (nav51i)입니다

'[파이썬] 퀴즈' 카테고리의 다른 글

[파이썬] 퀴즈  (0) 2021.02.18
[파이썬] 퀴즈  (0) 2021.02.17

# 탈출문자/

# n : 문장의 줄바꿈

print("(파이썬 쉽다고, n한놈 나와~!)")

 

# " ' : 문장내에서 따옴표 표현하기

#먼저 두가지 방법이 있다

print("'파이썬' 쉽다고, 한놈 나와~!"# 그냥 '' 작은 따옴표 사용하기;;;;;;

print('"파이썬" 쉽다고, 한놈 나와~!'# 그냥 "" 큰따옴표와 '' 작은 따옴표 위치바꾸기;;;;;;

# 위에 두사례로 간단히 해결되기도 하겠지만 코딩이 헷갈릴수도 있다 그래서 

print(""파이썬" 쉽다고, 한놈 나와~!"# " " 로 문장안에 따옴표 사용가능

print("'파이썬' 쉽다고, 한놈 나와~!"# ' ' 로 문장안에 따옴표 사용가능

 

# : 문장내에서 역슬러시 표현하기

# 만약 디렉토리를 출력 하려는데 아래처럼 쓴다면 에러가 난다

print("G:pythonwork")  # 어랏~! 에러가 나야 하는데 안난다;;;;;;;; 버전 업뎃된 모양이다;;;;

print("G:pythonwork"# 일단 기본은 이렇게 된다는 걸 기억하자

 

# r : 문장의 앞부분을 "/r" 이후 문장길이 만큼 바꾼다 ;;;;; 해석을 어찌하리오 ㅜ.ㅜ

print("빨간사과r파란"# 자~! 일단 "빨간 사과"라는 단어가 있다  

                        # 이것을 "r"이후에 단어인 "파란"이란 단어가 "r"앞부분 덮어쓰게 된다

                        # 출력을 하게 되면 "파란 사과"로 출력하게 된다 

print("빨간사과r파란색")# 이 명령줄을 보게 되면 이해가 좀 더 쉬울수도 있다 빨간사과라는 4글자에

                        # 파란색이라는 3글자가 덮어져서 출력되는 것이다 "파란색과"

print("빨간 사과r파란색")# 이렇듯 글자칸수에 따라 덮어져서 출력되는 것을 알수 있다 "파란색사과"

                         # 공란마저 글자칸수로 인식하는 듯하다

print("빨간사과r파란색사과")# 앞과 뒤의 글자수가 달라도 상관없다

 

# b : "b" 백스페이스 마냥 바로 이전 글자 삭제

print("red bapple"#원래 출력은 "red apple"이지만 "b" 사용으로 "redapple"이 출력된다

print("빨간색b사과"# 한글은 안되나 보다

print("ㄱㄴㄷㄹbㅁ"#한글은 안된다;;;;   어디에 사용되는지 모르겠다;;;;

 

# t : 키보드의 탭과 동일한 들여쓰기

print("파이썬 쉽다고, 한놈 나와~!"#스페이스 한칸 띄우기

print("파이썬 쉽다고,t한놈 나와~!"#위에 문장이랑 비교해보면 살짝차이나긴 한다

print("a,tb"#영단어는 확실히 차이난다;;;;;;;;

---------------------------------------------------------------------------------------

출력 예)

파란사과
파란색과
파란색사과
파란색사과
redapple
빨간색사과
ㄱㄴㄷㄹㅁ
파이썬 쉽다고, 한놈 나와~!
파이썬 쉽다고,  한놈 나와~!
a,      b



'[파이썬] 공부' 카테고리의 다른 글

[파이썬]사전  (0) 2021.03.03
[파이썬] 리스트  (0) 2021.02.24
[파이썬] 문자열 포맷  (0) 2021.02.19
[파이썬] 문자열 처리 함수  (0) 2021.02.19
[파이썬] 램덤함수  (0) 2021.02.18

# 문자열 포멧

# 방법 1 = %를 사용

print("나는 %d살입니다." %20 ) # %d 문장이 끝난 뒤에 나오는 %x 의 값을 정수로 출력, 숫자만 출력

 

print("나는 %s을 좋아합니다." %"파이썬"# %s 뒤에 나오는 문자열를 출력, ""따옴표를 사용하여 단어 출력 숫자도 가능

print("나는 %s을 좋아합니다." %7

 

print("Apple은 %c로 시작해요." %"A"# %c 뒤에 나오는 문자, 숫자를 출력, 두글자 이상출력시 에러

# print("Apple은 %c로 시작해요." %"Ap") # 사용불가 두글자 이상출력시 에러

 

print("나는 %s색과 %s색을 좋아합니다." %("파란""빨간"))

#위와 같이 두군데 이상 사용가능하다 %("a", "b") 순서대로 출력한다 

 

# 방법 2 = { } 괄호를 사용

print("나는 {}살입니다.".format(20)) # 관호 안에 단어, 숫자를 출력할수 있다

print("나는 {}살입니다.".format("스무")) 

print("나는 {}과 {}을 좋아해요.".format("파란색""숫자7")) # 괄호안의 단어 순서대로 출력한다

print("나는 {0}과 {1}을 좋아해요.".format("파란색""숫자7")) # 괄호안의 단어 순서대로 출력한다

print("나는 {1}과 {0}을 좋아해요.".format("파란색""숫자7")) # 괄호안의 단어 순서를 바꿀수도 있다

 

# 방법 3  = 변수를 사용

print("나는 {a}과 {b}을 좋아해요.".format(a = "파란색"b = "숫자7")) # 변수를 사용하여 일괄 적용할 수도 있다

print("나는 {b}과 {a}을 좋아해요.".format(a = "파란색"b = "숫자7")) # 괄호안의 단어 순서를 바꿀수도 있다



# 방법 4 = (파이썬 V3.6이상만.....)

a = "파란색"

b = "숫자7"

print(f"나는 {b}과 {a}을 좋아해요."꼭 문자열에 "f" 넣어주어야 한다 

print("나는 {b}과 {a}을 좋아해요."안 그러면 print문장만 출력한다

---------------------------------------------------------------------------------------------------------------------------

출력 예)

나는 20살입니다.
나는 파이썬을 좋아합니다.
나는 7을 좋아합니다.
Apple은 A로 시작해요.
나는 파란색과 빨간색을 좋아합니다.
나는 20살입니다.
나는 스무살입니다.
나는 파란색과 숫자7을 좋아해요.
나는 파란색과 숫자7을 좋아해요.
나는 숫자7과 파란색을 좋아해요.
나는 파란색과 숫자7을 좋아해요.
나는 숫자7과 파란색을 좋아해요.
나는 숫자7과 파란색을 좋아해요.
나는 {b}과 {a}을 좋아해요.

'[파이썬] 공부' 카테고리의 다른 글

[파이썬] 리스트  (0) 2021.02.24
[파이썬] 탈출문자  (0) 2021.02.20
[파이썬] 문자열 처리 함수  (0) 2021.02.19
[파이썬] 램덤함수  (0) 2021.02.18
[파이썬] 숫자처리 함수  (0) 2021.02.18

# 문자열 처리함수

a = "Python is Amazing"

print(a)            # "a" 변수 그냥 출력 "Python is Amazing"

print(a.lower())     # "a" 변수 소문자로만 출력 "python is Amazing"

print(a.upper())    # "a" 변수 대문자로만 출력 "PYTHON IS AMAZING"

print(a[0].isupper())   # "a" 변수 [ ] 해당자리수의 글자가 대문자인지 확인 "true"

print(a[0].islower())   # "a" 변수 [ ] 해당자리수의 글자가 소문자인지 확인 "false"

print(len(a))           # "a" 변수의 글자수를 측정, "공란"은 세지 않는다 "17"

print(a.replace("Python""java")) # "a"변수의 "Python"이란 글자를 "java"로 바꿔 준다  "java is Amazing "

print(a.replace("Python", "")) # "a"변수의 "Python"이란 글자를 ""공란으로 바꿔 준다  "is Amazing "

print(a.replace("python""java")) # "Python", "python" 바꿀려 글자에 대,소문자를 구분해야 한다. "Python is Amazing"

                                    #이대로 출력하면 "Python"을 인지하지 못하여, "a" 변수 그대로 출력한다

index = a. index("n")   # "a"변수내의 "n"이 몇번째 위치에 있는지를 출력한다

print(index)            # 첫번째의 위치만 찾아준다 "5"

 

index = a. index("n", index + 1 )   # "a"변수내의 "n"의 두번째 위치를 찾아준다

print(index)            # 두번째의 위치만 찾아준다 "15"

 

#index = a. index("b")   # "a"변수내의 "b"의 위치를 찾을려 했지만 변수에 없는것은 에러는 낸다

#print(index)            # 에러는 내기 때문에 출력문을 표현하지 못했다

 

print(a.find("n"))      # "a"변수내의 "n"을 찾는 다른 방법이다. 출력되는 것은 index랑 같다

print(a.find("b"))      # 다만 "a"변수내의 다른 값을 찾으면 에러 대신 "-1"을 출력한다

 

print(a.count("n"))     #"a"변수내의 "n"이 몇번 나왔는지를 세어준다. 위치가 아니라 몇개인지 세어주는 것이다

----------------------------------------------------------------------------------------------------------------------------------

출력문 예)

Python is Amazing
python is amazing
PYTHON IS AMAZING
True
False
17
java is Amazing

is Amazing
Python is Amazing
5
15
5
-1
2

 

'[파이썬] 공부' 카테고리의 다른 글

[파이썬] 탈출문자  (0) 2021.02.20
[파이썬] 문자열 포맷  (0) 2021.02.19
[파이썬] 램덤함수  (0) 2021.02.18
[파이썬] 숫자처리 함수  (0) 2021.02.18
[파이썬] 간단한 수식  (0) 2021.02.18

+ Recent posts