링크텍스트
유튜브 파이썬 코딩 강의를 들으며 정리!
Anaima = “고양이”
Name = “꾸꾸”
Age = 4 [정수형]
Hobby= “낮잠”
Is_adult = age >=3
일 때
print(name + “는” + str(age) + “살이며”, “ + hobby + “을 아주 좋아해요”)
꾸꾸는 4살이며 낮잠을 아주 좋아해요
print(name, “는 ” , age, “살이며”, hobby, “을 아주 좋아해요”)
꾸꾸v는 4v살이며 낮잠v을 아주 좋아해요
+ 대신 “,”를 사용 할 수 있지만 print시 한칸 띄어쓰기 된다.
‘’’ 작은 따옴표 세 개 사용하면 여러문장 주석처리 가능 (컨트롤 슬러시/ 도 가능)
2**3 2^3 (제곱)
5%3 나머지 구하기 2
10%3 #1
5//3 목 구하기 1
10//3 #3
3 == 3 # 앞항과 뒤항이 똑같다 -> true
1 != 3 # 앞 뒤가 같지 않다 -> True
Not(1 !=3) -> True
And -> &
Or -> |
print(abs(-5)) # 5 절대값
print(pow(4,2)) # 4^2 = 4*4 = 16
print(round(3.14)) #반올림 3
from math import *
print(floor(4.99)) #내림 . 4
print(ceil(3.14)) #올림 .4
print(sqrt(16)) # 제곱근. 4
from random import *
print(random()) # 0.0 ~ 1.0 미만의 임의의 값 생성
print(random()* 10) # 0.0~10.0 미만의 임의의 값 생성
print(int(random()* 10)) # 0 ~ 10미만의 임의의 값 생성
print(int(random() * 10) +1 ) # 1~10 이하의 임의의 값 생성
print(int(random()* 45)+ 1) # 1부터 45이하의 임의의 값 생성
print(randrange(1, 46)) # 1~46 미만의 임의의 값 생성
print(randint(1, 45)) # 1~45 이하의 임의의 값 생성
[조건]
1. 랜덤으로 날짜를 뽑아야 함.
2. 월별 날짜는 다름을 감안하여 최소 날짜인 28일 이내로 정함.
3. 매월 1~3일은 스터디 준비를 해야 하므로 제외.
from random import *
date = randint(4,28)
print("오프라인 스터디 모임 날짜는"+ str(date) + "일로 선정되었습니다.")
[주민등록번호로 예시]
jumin = "990120-1234567"
print("성별 : " + jumin[7]) # 0부터 앞에서부터 세어서 7번째 문자 가져오기
print("연 : "+ jumin[0:2]) # 0부터 2 직전까지 (0,1)
print("월 : " + jumin[2:4]) # 2부터 4직전까지 (2,3)
print("일 : " + jumin[4:6])
print("생년월일 : " + jumin[:6]) # 처음부터 6 직전까지
print("뒤 7자리 :" + jumin[7:]) # 7번째 부터 끝까지
print("뒤 7자리 (뒤에서부터)" + jumin[-7:]) #뒤에서 셀때는 -1부터 역순임. 방향은 항상 왼--> 오
#(맨 뒤에서 7번째부터 끝까지)
python = "Python is Amazing"
print(python.lower()) # 소문자 함수 .lower
print(python.upper()) # 대문자 함수 .upwer
print(python[0].isupper()) #첫 문자가 대문자 인가? ->T/F
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("n"))
print(python.find("Jave")) #원하는 값이 없으면 -1을 반환
# print(python.index("Java")) #값이 없으면 오류
#차이점 유념 Find vs index
print(python.count("n")) #함수에서 "n"이 몇 번 등장하는지
# 방법 1
print("나는 %d살입니다." % 20) # % 뒤에있는 값을 넣는다. d는 정수를 의미하며 항상 정수값이다.
print("나는 %s을 좋아해요." % "파이썬") #s는 문자열(str)을 의미한다.
print("Apple 은 %c로 시작해요." % "A") #c는 캐릭터, 한 글자만 받는다.
# %s로만 쓰면 모두 다 쓸 수 있다.
print("나는 %s색과 %s색을 좋아해요" % ("파란","빨강")) # 순서대로 들어간다.
# 방법 2
print("나는 {}살입니다." .format(20))
print("나는 {}색과 {}색을 좋아해요" .format("파란", "빨강"))
print("나는 {0}색과 {1}색을 좋아해요" .format("파란", "빨강")) #0번째 1번째 넣기도 가능
print("나는 {1}색과 {0}색을 좋아해요" .format("파란", "빨강")) #0번째 1번째 넣기도 가능
# 방법 3
print("나는 {age}살이며, {color}색을 좋아해요".format(age=20, color="빨강")) #format은 변수를 이용해도 가능. 순서 상관 X
# 방법 4
age = 20
color = "빨간"
print(f"나는 {age}살이며, {color}색을 좋아해요")
# \n : 줄바꿈
print("백문이 불여일견\n백견이 불여일타")
저는 "코딩"입니다.
#\" \": 문장 내에서 따옴표로 활용 가능(중복일때)
print('저는 "코딩" 입니다.')
print("저는 \"코딩\" 입니다.") #두 번째 \ 위치 주의
#\\ : 문장 내에서 \
print(" C:\\Users\\1\\Desktop\\pythonworkspace>")
#\r : 커서를 맨 앞으로 이동
print("Red Apple\rPine")
#\b : 백스페이스 (한 글자 삭제)
print("Redd\bApple")
#\t : 탭
print("Red\tApple")
사이트별로 비밀번호를 만들어 주는 프로그램을 작성하시오
예) http://naver.com
조건1. : http:// 부분은 제외 => naver.com
조건2. : 처음 만나는 점(.) 이후 부분은 제외 => naver
조건3. : 남은 글자 중 처음 세자리 + 글자 갯수 + 글자 내 'e' 갯수 + "!" 로 구성
예) 생성된 비밀번호 : nav5!
#내 풀이
#PW = "http://naver.com"
PW = "http://daum.net"
PW = PW[7:-4]
print(PW)
print(PW[0:3]+str(len(PW))+ str(PW.count("e")) + "!" )
#강의 中 답안
url = "http://naver.com"
my_str= url.replace("http://","") #규칙1
my_str = my_str[:my_str.index(".")] #규칙2
print(my_str)
password = my_str[:3] + str(len(my_str)) + str(my_str.count("e")) +"!"
print("{0} 의 비밀번호는 {1}입니다.".format(url,password))
#지하철 칸별로 10명, 20명, 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)
# 같은 이름의 사람이 몇 명 있는지 확인
subway.append("유재석")
print(subway)
print(subway.count("유재석"))
# 정렬도 가능
num_list = [5,2,4,3,1]
num_list.sort() #정렬 구문
print(num_list)
# 순서 뒤집기
num_list.reverse()
print(num_list)
# 모두 지우기
num_list.clear()
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)
# 사물함 key 배정 예시
cabinet = {3:"유재석", 100:"김태호"} # Key = 3 , 유재석 / key= 100 , 김태호
print(cabinet[3]) # key를 넣어줌.
print(cabinet[100])
print(cabinet.get(3)) #가져오기2
print(cabinet[5]) #값이 없으면 Error 종료.
print("hi")
print(cabinet.get(5)) #값이 없으면 None표시 후 정상 진행
print(cabinet.get(5, "사용가능")) # key가 5인 값이 없으면 "사용가능"으로 표시
print("Hi")
# print(3 in cabinet) # True
# print(5 in cabinet) # False
cabinet={"A-100":"유재석", "B-1":"김태호"}
print(cabinet["A-100"])
# 업데이트 가능
cabinet["A-100"] = "김종국"
cabinet["C-20"] = "조세호"
print(cabinet)
# 값 제거
del cabinet["A-100"]
print(cabinet)
# key 들만 출력
print(cabinet.keys())
# value 들만 출력
print(cabinet.values())
# key, value 둘 다 출력
print(cabinet.items())
# 사전 지우기
cabinet.clear()
print(cabinet)
바꿀 순 없지만 빠르다!
menu = ("돈까스","치즈까스")
print(menu[0])
print(menu[1])
# menu.add("생선까스") 튜플은 추가 X
name = "김종국"
age = 20
hobby = "코딩"
print(name, age, hobby)
# 튜플을 이용하면
(name, age, hobby) = ("김종국", 20, "코딩")
print(name, age, hobby)
# 중복 안됨, 순서 없음
my_set = {1,2,3,3,3}
print(my_set)
java = {"유재석", "김태호", "양세형"}
python = set(["유재석", "박명수"])
# 교집합 (java 와 python을 모두 할 수 있는사람)
print(java & python)
print(java.intersection(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)
menu = {"커피", "우유", "주스"}
print(menu, type(menu))
menu=list(menu)
print(menu, type(menu))
menu = tuple(menu)
print(menu, type(menu))
당신의 학교에서는 파이썬 코딩 대회를 주최합니다. 참석률을 높이기 위해 댓글 이벤트 진행.
댓글 작성자 중 1명은 치킨, 3명은 커피 쿠폰을 받게 됩니다.
추첨 프로그램을 작성하세요
조건 1. 댓글은 20명이 작성하였고 아이디는 1~20이라 가정.
조건 2. 댓글 내용과 상관없이 무작위로 추첨하되 중복 불가.
조건 3. random 모듈의 suffle 과 sample 사용
-출력 예제-
당첨자 발표
치킨 당첨자 : 1
커피 당첨자 : [2,3,4]
축하합니다.
#활용 예제
from random import *
lst = [1,2,3,4,5]
print(lst)
shuffle(lst)
print(lst)
print(sample(lst,1))
# 내 풀이...
ID = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
print(ID)
shuffle(ID)
print(ID)
ID2 = sample(ID,1)
print(ID2)
ID=set(ID)
ID2=set(ID2)
print(ID, type(ID))
print(ID2, type(ID2))
ID3=ID-ID2
ID3=sample(ID3,3)
ID3=set(ID3)
print("당첨자 발표")
print("치킨 당첨자 :", ID2)
print("커피 당첨자 :" , ID3)
print("축하합니다.")
1:51:44 까지 유튭브 강의로 들으며 따라했다.
마지막 퀴즈는 좀 더 다듬을 필요가 있다고 생각하고 다시 좀 더 써보고 답안과 비교를 해야겠다.