연산자, 조건문, 반복문_python

miin·2021년 5월 10일
0

Python

목록 보기
2/10

연산자

  • ==같다
    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요소를 랜덤선택

  • #랜덤으로 1부터50사이의 숫자를 뽑으면 뽑은 숫자를 맞추는 up,down게임 예제
    import random
    com_num = random.randint(1,50)
    while True :
    cum = int(input("숫자입력"))
    if com < com_num :
    print("%d 보다 큰 수 입니다" %(com))
    elif com > com_num :
    print("%d 보다 작은 수 입니다" %(cum))
    else :
    print("정답 입니다")
    break

0개의 댓글