연산자
==같다
True, False 첫글자 대문자로
산술연산자 // 는 몫을 의미함
ex)3/2 = 1.5
3//2 = 1
지수 연산자 = 몇 승 이냐는 의미
(변수**변수)
"""값""" 이스케이스문자 안써도 줄바꿈 등 가능 자유자제
형변환
숫자->숫자문자 형변환 print(str(num1)+str2)
숫자문자->숫자 형변환 print(num1+int(str2))
한글문자는 숫자로 변환 안됨
삼항연산자
변수 if 조건식 else 변수
return 조건식 ? true값 : false값
사용자입력(input)
input 사용자로 부터 입력받음
ex) num= input("정수를 입력하세요")
문자->정수 형변환
num = int(input("정수를 입력하세요"))
문자->실수 형변환
num = float(input("정수를 입력하세요"))
치환=교환
a,b=3,4
a,b =b,a
출력 a=4, b=3 가능
교집합 (a & b) | .intersection(a) a집합, b집합의 중복 출력
합집합 (a | b) | .union(a) a집합 + b집합
차집합 (a - b) | .difference a집합-b집합 중복있는거 빼고 출력
|= , .update() 현재세트에 다른세트를 더함
a |= {8}
a.update({8})
&= , intersection_update 두개의 세트중에 중복만 현재세트에 저장함
-= , difference_update 현재세트에서 다른세트를 뺀다
^= , symmetric_difference_update 겹치지않는 요소만 현재세트에 저장
<= , issubset 현재세트가 다른세트의 부분집합인지 확인
< 현재세트가 다른세트의 부분집합이지만 전부 같지않을때 Ture
= , issuerset현재 세트가 다른세트의 상위집합 일 때
현재보다 진상위집합일때
a = {1,2,3,4}
a > {1,2,3} -> True
.isdisjoint(다른세트) 다른세트와 겹치지 않으면 True
조건식
조건이 True 일 경우 실행문장1 실행
조건이 False 일 경우 실행문장2 실행
if 조건문이 시작되면 실행문이 꼭 있어야함. 아무것도 실행할게 없을시엔 pass 입력
if 조건식 :
실행문장1
else :
실행문장2
False이면 실행문장 실행안하고 끝
들여쓰기 필수
if True/False :
print("실행문장")
print("if문 밖에 있는 실행문장")
elif
if 조건식1 :
실행문장1
elif 조건식2 :
실행문장2
else :
실행문장3
공백이 있으면 에러남
조건범위
4>변수<=8
변수>4 and 변수<=8
둘다 사용 가능
반복문 종류 while, for
while : 반복 횟수가 명확하지 않을 때(무한루프)
for : 반복 횟수가 명확할 때
for 변수1 in range(시작값,끝값(값 전 까지만 출력):
print(변수1)
while 조건식:
실행문장
실행문장
띄어쓰기 중요! 에러남
ex) number = 1
while number <=3 :
print(number)
number += 1
출력-> 1 2 3
ex)treeHit = 0
while treeHit < 10:
treeHit = treeHit +1
print("나무를 %d번 찍었습니다." % treeHit)
if treeHit == 10:
print("나무 넘어갑니다.")
while문 break
맨 마지막에 쓰면 됨
반복문
for문
문자열,리스트,튜플이 들어갔을 때 안에 있는 요소를 하나씩 반복
for 변수 in 문자열(or 리스트 or 튜플):
(들여쓰기 print(변수)
tap/space*4)
ex) list_food = ["햄버거","치킨","피자"]
for food in list_food :
print(food)
출력-> 햄버거 치킨 피자
이중 for 문
for i in range(횟수) : #세로처리코드
for j in range(횟수) : #가로처리코드
print()
print()
원하는 문자를 for문으로 출력하기
for (var [key, value] of sayings) {
console.log(key + " goes " + value);
}
range()
필요한 만큼의 숫자를 만들어내는 유용한 기능
range(시작할 숫자/기본값0,종료할 숫자,증가량/기본값1)
range(0,10,1) -> 0부터 9까지 1씩 증가 (기본값은 생략가능/ ex) range(10))
range(10,1,-1) -> 10부터 2까지 1씩 감소
list/tuple(range(0,0,0))
reversed(range(0))
숫자의 순서를 반대로 뒤집어서 출력
end=''
end 속성 , 출력의 끝을 정해줌
end = " " -> 값을 가로로 나열함 (기본값)
end = "\n" -> 값을 세로로 나열함
리스트 내포(List comprehension)
for문과 if을 한 라인에 작성하여 코드를 직관적으로 만드는 기법
리스트명 = [표현식 for 변수 in 반복문]
ex)
result = [ num * 3 for num in a]
print(result)
출력-> [ 3 , 6 , 9 , 12]
result = [ num * 3 for num in a if num % 2 ==0]
print(result)
출력-> [6, 12]
구구단만들기
a = int(input())
for i in range(1,10):
print('%d %d = %d' %(a, i, (ia)))
import/module
import 모듈1,모듈2
모듈.변수
모듈.함수()
모듈.클래스()
from 모듈 import 변수/함수/클래스(다른 파일에서 가져오는것도 가능) 로도 가능
모듈: 특정기능을 .py파일 단위로 작성한것.
모듈을 여러개 가져올 때는 모듈을 콤마로 구분
패키지: 특정기능과 관련된 여러모듈을 묶은것.
패키지는 모듈에 네임스페이스(namespace, 이름공강)을 제공한다
다른파일 불러오기
from a(a.py파일/ 파일명) import plus(a.py에 있는 plus함수/ 함수명)
random module
import random
random.random() 0~1 사이 임의의 실수
randint(start, stop) : start와 stop 사이의 랜덤 정수를 리턴 (stop도 포함)
randrange(start, stop, step) : start, stop 사이의 정수 중 step 간격의 랜덤 정수 리턴
randint 가 아닌 randrange 를 사용하면 원하는 배수값을 (ex. 3의 배수) 리턴 받을 수 있음
반환하는 x는 a, b를 포함한 범위 입니다. (a <= N <= b)
randrange 함수에 a, b+1을 넣은것과 동일하게 동작합니다
random.shuffle(list) list의 순서를 랜덤 섞기
random.choice(list) list요소를 랜덤선택