ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 210714_1(python2)
    BigData/Python 2021. 7. 14. 17:50

    산술연산자

    # 산술연산자 모두 지원함, 쉼표가 공백으로 연결자(+) 역할을 한다.
    
    print("7+4=", 7+4) #합
    print("7*4=", 7*4) #곱
    print("7/4=", 7/4) #나누기
    print("7%4=", 7%4) #나머지
    print("2**3=",2**3) # 2의 3승

    변수사용하기

    # 변수사용하기
    # 파이선은 동적변수(값에따라서 데이터형이바뀐다)를 사용합니다.
    
    d = 100
    a = 120
    
    import turtle as t
    t.forward(d)
    t.left(a)
    t.forward(d)
    t.left(a)
    t.forward(d)
    t.left(a)
    t.forward(d)
    t.left(a)

    for반복문

    # for 반복문
    
    #range(10) # 0~9까지 범위를 나타냄
    #{ } 블럭이 없다. 대신 : 그리고 들여쓰기를 해야한다.
    
    for x in range(10):
        print(x) #반복문 범위 안
    print("end!",x) #반복문의 영향에서벗어남
    
    for x in range(3):
        print("첫째")
        print("둘째")
        print("셋째")
    print("넷째")
    # 반복문을 이용하여 정삼각형과 정사각형을 그려보시오
    
    import turtle as t
    
    for x in range(3):
        t.forward(100)
        t.left(120)
    
    for x in range(4):
        t.forward(100)
        t.left(90)
    # 1~10까지 출력하시오
    
    x=1
    y=10
    for i in range(x,y): #1에서9까지 출력된다
        print(i)
    
    # 1에서 10까지 합을 구하시오
    
    
    for i in range(1,11):
        x += i
    print(x)
    x=0
    
    
    for x in range(1,11):
        print(x)
        sum = sum + x
    print("sum=",sum)
    sum=0
    #보라색을 칠한 오각형을 그리시오
    # befin_fill() 색상을 칠한
    
    import turtle as t
    
    t.color("purple") # 색상을지정하고
    t.begin_fill()    # 칠을 시작하는부분
    for x in range(5):
        t.forward(100)
        t.left(72)
    t.end_fill()      # 칠을 끝난다
    #원을 50개를 반복해서 그려라
    
    import turtle as t
    
    n = 50
    t.bgcolor("black") #배경색
    t.color("green") # 펜의 색
    t.speed(0) # 0~10 0이가장빠름 그리는 속도
    for i in range(n):
        t.circle(30)
        t.left(360/n)
    
    # 선을 반복해서 그리는 프로그램
    
    import turtle as t
    angle = 110
    t.bgcolor("black")
    t.color("yellow")
    t.speed(0)
    
    for x in range(200):
        t.forward(x)
        t.left(angle)

    외부변수받아 출력하기 input()

    # 외부변수를 받아 출력하기
    
    name = input("너이름이뭐니")
    print("안녕", name, "님아")
    
    # 두개의 값을 입력 받아 덧셈 한후 출력하시오
    
    x = input("숫자를입력하시오")
    y = input("숫자를입력하시오2")
    sum = int(x)+int(y) #입력받은값을 문자열에서 정수로 형변환시켜줘야한다
    print("x+y=", sum, sep='') # 프린트메서드 , 구분여백없애기  sep=''
    
    # 5개의 숫자를 받아서 총합을 구하는 프로그램을 작성하시오
    
    num=5
    sum=0
    for x in range(num):
        print(x+1,"번째숫자를 입력하세요")
        inputnum = input()
        sum = sum + int(inputnum)
    print("입력값의총합:",sum)

    시간 time클래스

    # 시간 감각을 맞춰보는 프로그램
    # 10초 경과를 정확히 맞춰보자
    # time모듈의 itme()함수는 현재 유닉스 타임스탬프를
    # 소수로 리턴하는데, 정수부는 초단위이고 소수부는 마이크로 초단위이다
    import time
    input("엔터를 누르고 10초를 세어봅니다")
    start = time.time() # 현재시간
    input("10초가 되었다면 엔터키를 누르시오")
    end = time.time() # 현재시간
    elapse = end - start
    print("경과한시간",elapse,"초")
    print("시간차이:",abs(elapse-10),"초")
    
    import time
    tm = time.gmtime(time.time())
    print(tm)
    #time.struct_time(tm_year=2021, tm_mon=7, tm_mday=14, tm_hour=2,
    # tm_min=53, tm_sec=12, tm_wday=2, tm_yday=195, tm_isdst=0)
    
    import time
    ltm = time.localtime(time.time())
    print("year",ltm.tm_year)
    print("month",ltm.tm_mon)
    print("day",ltm.tm_mday)
    print("hour",ltm.tm_hour)
    print("min",ltm.tm_min)
    #time.struct_time(tm_year=2021, tm_mon=7, tm_mday=14, tm_hour=11,
    # tm_min=54, tm_sec=50, tm_wday=2, tm_yday=195, tm_isdst=0)
    
    import datetime
    now = datetime.datetime.now()
    print (now)
    #2021-07-14 12:00:39.403931

    조건문 if

    # 조건문
    
    a = 3
    if a == 3:
        print("success")
    
    b = int(input("숫자를입력하시오"))
    if b ==4:
        print("성공!")
    else:
        print("실패!")
    
        # 12+23= dml 문제를 보여주고 정답을 입력받아 맞으면 성공 틀리면 실패를 출력하는
        #프로그램작성
    
    x = int(input("12+23=?"))
    if x == 12+23:
        print("성공")
    else:
        print(("실패"))

     

    # 문자열 비교
    # 문자열도 등치연산자로 비교한다
    
    first = "홍길동"
    second = "이순신"
    third = "홍길동"
    fourth = "홍"
    five = "대"
    if first == second:
        print("문자열이 일치합니다")
    else:
        print("일치하지 않습니다")
    
    if first == third:
        print("문자열이 일치합니다")
    
    #부분일치
    if fourth in first:
        print("문자열이 부분 일치합니다")
    else:
        print("일치하지 않습니다")
    
    #부분일치
    if five == first:
        print("문자열이 일치합니다")
    else:
        print("일치하지 않습니다")

    난수  random 클래스

    #난수 random
    
    
    
    # 1에서 50 사이 난수를 출력하시오
    import random
    a = random.randint(1,50)
    print(a)
    
    # 마음대로 기어다니는 거북이 만들기
    import turtle as t
    import random
    
    t.shape("turtle")
    t.speed(2)
    for x in range(500):
        a = random.randint(1,360)
        t.setheading(a)
        t.forward(a)
    # 1에서 5사이의 난수를 발생시키고
    # 하나의 값을 입력받습니다.
    # 난수와 값이 입력값과 일치하면 3배를 돌려주고
    # 일치하지 않으면 YOU LOSE 라고 출력하기
    
    import random
    
    a = int(input("1~5사이의 값을입력하시오"))
    b = random.randint(1,5)
    print(b)
    if a==b:
        a = a*3
        print("값이",a,"가되었습니다")
    else:
        print("YOU LOSE")

    while 반복문

    # while 반복문 : 초기값, 범위, 증감치
    
    # 1~10 출력하기
    x=1
    while(x <=10):
        print(x)
        x += 1
    
    # 1에서 100까지 합을 출력하시오
    x=1
    sum=0
    while(x <= 100):
        sum = sum + x
        x += 1
    print(sum)

    숫자형변수 / 문자형변수

    # 자료형 정리
    
    #숫자형 : 정수, 실수, 8진수, 16진수
    
    a = 0o175 # 8진수 175는 10진수 125이다
    print(a)
    
    b = 0x4F # 16진수 4F는 10진수 79이다
    print(b)
    
    # 연산에서 % 는 나머지. 몫은 // 이다
    
    print(45 % 4) # 나머지는 1이다
    print(45 // 4) # 몫은 11이다
    
    # 여러줄 주석 (') 세번
    '''
    여러줄 주석입니다
    
    '''
    
    # 문자열 반복
    hi = "Hi"
    print(hi*4)
    
    # 문자열 인덱싱(주소값)
    str = "HELLO"
    print(str[0])
    print(str[1])
    print(str[2])
    print(str[3])
    print(str[4])
    
    # 문자열 인덱싱(주소값)
    str = "HELLO"
    print(str[-1]) # 뒤에서 첫번째
    print(str[-2]) # 뒤에서 두번째
    print(str[-3]) # 뒤에서 세번째
    print(str[-4]) # 뒤에서 네번째
    print(str[-5]) # 뒤에서 다섯번째
    
    # 슬라이싱
    print(str[0:3]) # 0부터 3개
    
    # [시작:끝]
    str2 = "20210714Hotday"
    date = str2[:8] # 시작은 상관없고 8번째까지
    print(date)
    weather = str2[8:] # 8부터 끝까지
    print(weather)
    
    # 문자열 포맷
    print("I eat %d apples" %3) # %d  정수
    print("I eat %s apples" %"five") # %s 문자열
    
    cnt = 3
    str = "GILDONG"
    print("%s eat %d apples" %(str,cnt)) # %s 문자열
    
    # 포맷 종류 : %s(문자열), %d(정수), %c(문자), %f(실수), %o(8진수), %x(16진수), %%(문자)
    
    # 문자열관련 함수
    
    #count('찾을문자',시작점,끝)
    print(str.count("G",1,8))
    # len() #길이구하기
    print(len(str))
    # find() #위치 없으면 -1
    # index() #위치 없으면 error
    # print(",".join('abcd')) #a,b,c,d
    # upper() #대문자
    # lower() #소문자
    # lstrip() #왼쪽공백제거
    # rstlip() #오른쪽공백제서
    # strip() #양쪽공백제거
    # replace("찾을","바꿀") #문자열대체
    # split() #문자열분리

    저장데이터형 list()

    # 여러개 저장 데이터형
    # list(), tuple() 수정불가, dictionary(), set()
    
    #list() 여러가지 모습
    # 리스트명 = [요소,요소,요소,,,]
    a = []
    b = [1,2,3]
    c = ["가","나","다"]
    d = [1, "가", 2, "나"]
    e = [a, b, c, ["A","B","C"] ]
    f = [a, b, c, [1,2,3] ]
    
    print(e)
    print(e[0])
    print(e[1])
    print(e[2])
    print(e[3])
    print(e[3][2])
    print(e[3][1])
    
    #요소값 바꾸기
    e[3][1] = 100
    print(e[3][1])
    e[3][2] = 'very'
    print(e[3][2])
    print(e)
    
    #리스트 관련함수
    list.append(요소) #추가
    list.sort() #정렬
    list.reverse() # 역순
    list.index(요소) #요소위치
    list.insert(위치,값) # 요소넣기
    list.remove(요소) #요소삭제
    list.pop(index) # 특정위치 꺼내기
    list.count(요소) # 요소갯수
    list.extend(리스트형요소) # 리스트에 리스트형요소를연결한다

    tuple()

    # 여러개 저장 데이터형
    # list(), tuple() 수정불가, dictionary(), set()
    
    # tuple 여러가지 모습
    # 튜플명 = (요소,요소,요소,,,)
    a = ()
    b = (1, 2, 3)
    c = ("가", "나", "다")
    d = (1, "가", 2, "나")
    e = (a, b, c, ("A", "B", "C"))
    f = (a, b, c, [1, 2, 3])
    print(type(a))
    
    print(e)
    print(e[0])
    print(e[1])
    print(e[2])
    print(e[3])
    print(e[3][2])
    print(e[3][1])
    
    # 요소값 바꾸기
    e[3][1] = 100 #튜플은 초기화가 불가능하다.
    print(e[3][1])
    print(e)
    f[3][2] = 'very' #리스트가 요소인 튜플은 수정가능
    print(f[3][2])
    print(f)

    dictionary

    # dictionary # key : value 로 저장되는 구조
    # 딕셔너리는 {key:value,key:value,key:value,,,} 를 이용한다
    
    student = {'no':1111, 'name':'홍길동', 'phone':'010-1111-1111'}
    print(type(student))
    print(student['no'])
    print(student['name'])
    print(student['phone'])
    # <class 'dict'>
    # 1111
    # 홍길동
    # 010-1111-1111
    
    student['no'] = 123 # 초기화가능
    print(student['no'])
    
    #인덱스사용은 안된다
    print(student[0])
    
    #요소 추가
    student['address'] ='seoul'
    print(student)
    
    #요소 삭제
    student.__delitem__('no')
    print(student)
    
    del student['address']
    print(student)
    
    # 키를 이용해서 리스트로 만들기
    stkey = student.keys()
    print(stkey)
    # dict_keys(['name', 'phone']) 키만모아서 리스트로 만들어줌
    
    # 리스트가 되면 반복을 쉽게
    for k in student.keys():
        print(k)
        # no
        # name
        # phone
    
    # 리스트 형변환
    keylist = list(student.keys())
    print(type(keylist))
    # <class 'list'>
    
    #밸류값으로 리스트 만들기
    vallist = student.values()
    print(type(vallist))
    # <class 'dict_values'>
    
    # 리스트로 형변환 시키기
    vlist = list(vallist)
    print(type(vlist))
    # <class 'list'>
    
    # key:value 쌍으로 얻기
    st_items = student.items()
    print(type(st_items))
    # <class 'dict_items'>
    
    #k를 이용한 v받기
    print(student.get('no'))
    print(student.get('name'))
    print(student.get('phone'))
    # 1111
    # 홍길동
    # 010-1111-1111
    
    #요소 지우기
    student.clear()
    print(student)
    # {}
    
    # get(키,디폴트)을 이용한
    student.get('no')
    print(student.get('no'))
    student.get('no2')
    student.get('no2','값이없어요') #찾는키가 없으면 디폴트값이 나온다
    # Out[44]: '값이없어요'
    
    # 특정키가 있는지 조사하기
    print('no' in student)
    # True
    print('no2' in student)
    # False

    집합자료형 set()

    # 집합자료형 set { }
    # 특징 : 중복불허, 순서가 필요없다
    # 집합 : 합집합, 교집합, 차집합 ...
    
    # list 를 set으로 만듬
    sd = set([1,2,3,4,5])
    print(sd)
    type(sd)
    # {1, 2, 3, 4, 5}
    # Out[48]: set
    
    # 문자열을 set으로
    sd2 = set('abcde')
    print(sd2)
    type(sd2)
    # {'c', 'd', 'b', 'e', 'a'}
    # Out[49]: set
    
    
    s1 = set([1,2,3,4,5,6])
    s2 = set([4,5,6,7,8,9])
    #합집합
    print(s1|s2)
    print(s1.union(s2))
    # {1, 2, 3, 4, 5, 6, 7, 8, 9} #중복값없음
    
    #교집합
    print(s1&s2)
    print(s1.intersection(s2))
    # {4, 5, 6}
    
    #차집합
    print(s1-s2)
    print(s2-s1)
    print(s1.difference(s2))
    print(s2.difference(s1))
    # {1, 2, 3}
    # {8, 9, 7}
    # {1, 2, 3}
    # {8, 9, 7}
    print(s1.c)
    
    #대칭차집합
    print(s1^s2)
    print(s1.symmetric_difference(s2))
    # {1, 2, 3, 7, 8, 9}
    
    #집합 요소 추가하기
    s1.add(10)
    print(s1)
    # {1, 2, 3, 4, 5, 6, 10}
    
    #집합요소들 추가하기
    s2.update([11,22,33])
    print(s2)
    # {33, 4, 5, 6, 7, 8, 9, 11, 22}
    
    #특정 값 제거하기
    s2.remove(33)
    print(s2)
    # {4, 5, 6, 7, 8, 9, 11, 22}

    불자료형 

    # 불 자료형
    
    a = True
    b = False
    type(a)
    # Out[64]: bool
    
    print(1==1) #True
    print(2>1) #True
    print(2.5>11.5) #False
    
    print(bool(()))
    print(bool([]))
    print(bool({}))
    bool(0) #False
    bool(1) #True
    bool(2) #True
    bool('') #False
    bool(' ') #True
    
    if():
        print("참")
    else:
        print("거짓")
    # 디폴트는 False이다
    
    a = [1,2,3,4]
    while a:    #a가 참인동안 모든요소를 다 꺼내라
        print(a.pop()) #pop() 마지막요소를 꺼낸다.
        # 4
        # 3
        # 2
        # 1

    'BigData > Python' 카테고리의 다른 글

    210720_1(데이터수집하기)  (0) 2021.07.20
    210719_1(데이터수집하기)  (0) 2021.07.19
    210716_1(데이터수집하기)  (0) 2021.07.16
    210715_1(python3)  (0) 2021.07.15
    210713_2(python1)아나콘다,파이참 설치  (0) 2021.07.13
Designed by Tistory.