ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python 기초 공부 - 1
    Programming/Python 2021. 3. 4. 23:42
    반응형

    2년전 처음 시작했던 파이썬 공부내용 작성

     

    1일차

    # fullName 문자열 : 기본이 1차원 배열 , 숫자 int :4byte, float : 4byte
    fullName = input("이름을 입력하세요 : ")
    n = fullName.rfind(" ")
    # 리버스파인드 거꾸로부터 찾아라
    
    print(fullName[0]) # 배열과 리스트의 인덱싱은 동일하다.
    print(fullName[1])
    print(fullName[2])
    print("이름 : ", fullName[1:]) # :
    print("성(s): ", fullName[:1])

    # 문자열은 '' "single quotation", "korea" ; double quotation
    # """""" : 3개인 경우는 입력하는대로 저장함
    
    s = "korea"
    print(s+s) #koreakorea
    print(s*3) # 횟수지정
    print(s[0:])
    print(s[4])
    print(s[-1]) # R에서 - 인덱스 : 제외하고 / 파이썬에서는 뒤에서부터
    print(s[1:3]) # 끝은 제외
    print(s[-2:]) # 끝에서 두번째부터 끝까지
    print(s[-2:5])
    print(s[3:-1]) 
    print(len(s))
    s.split('r') # 중심에 두고 나눠라.
    # split 함수

    # csv 데이터 : comma 로 분리된 데이터
    t = 'Seoul, Incheon, won'.split(",")
    print(t) # 리스트로 분할
    #  컴마로 나눠서 출력해라 .붙이고 split

    ['Seoul', ' Incheon', ' won']

    ','.join(t)

    'Seoul, Incheon, won'

    # 파이썬은 객체 지향 프로그래밍으로 설계된 언어임 : 모든 것이 객체임, 함수도 객체임
    # C, Java는  객체지향을 별도로 학습
    # python은 자체가 객체지향언어임.
    s = 'korea'
    print(s.capitalize()) # 첫자가 대문자로
    print(s.find('r')) # r을 찾아라 
    print(s.count('re')) #  re가 몇번 나타나냐
    print(s.isalpha()) # 문자열이냐
    print(s.isdigit()) # 숫자냐
    print('0123'.isdigit()) # 숫자냐
    print(s.replace('r','R')) # r을 R로 바꿔서 출력해라
    print(s.startswith('K')) # 스타트로 K로 시작하냐
    print(s.endswith('a')) # 끝이 a로 끝나냐

    # 산술연산
    a = 3
    b = 4
    
    print(a + b, a-b, a*b,a/b)
    print(a/b)
    print(a%b) # 나머지연산자 : 경우의 수를 생성할때 : 변수가 가질 수 있는 경우수를 확인
    print(1%2)
    print(2%2)
    print(3%2)
    print(4%2)
    
    print(7/4)
    print(7//4) # 몫 연산자

    # 내장함수
    # 괄호 : [] : list , {} dict, set, () : tuple, 함수에서 사용
    
    print("sum([1,2,3]) : ", sum([1,2,3]))
    print("min([1,2,3]) : ", min([1,2,3]))
    print("abs(-11) : ", abs(-11)) # 절대값
    print("pow(2,10) : ", pow(2,10)) # 2에 10승
    print("round(3.141595) : ", round(3.141592)) # 반올림
    print("round(3.141595) : ", round(3.141592, 2))
    # 함수의 형태가 다르면 : 오버로딩
    # 파이썬 오버로딩이 없음. = > 디폴트 매개변수
    
    # 문제 : 두 수를 입력받아 몫과 나머지를 출력하시오
    a = input("첫 번째 수 ")
    b = input("두 번째 수" )
    hab = int(a) + int(b)
    quotient = hab // 2
    remainder = hab % 2
    print("입력된 수를 2로 나눈 결과 몫 = ", quotient, "나머지 = ", remainder)
    # 파이썬의 블록은 들여쓰기임
    # : 조건문 , 반복문, 함수
    if remainder == 0:
        print(" 짝수 입니다. ")
    else: 
        print("홀수 입니다.")
    x = 300 # 전역 변수
    def myfunc() : # 함수도 리턴타입을 지정하지 않음
        x = 200 # 지역변수 : 함수와 생사를 같이함
        print(x)
        myfunc()
        print(x)
    # 어떤 수가 들어 오더라도 나머지가 0::가위, 1:바위, 2:보 로 출력하시오
    vv = input("0~2 중 입력하시오 ")
    
    if vv == '0':
        print("가위입니다.")
    elif vv == '1':
        print("바위입니다.")
    else:
        print("보 입니다.")
    # random : 프로그램에서 난수는 의사난수임.
    import random
    random.seed(1000) # 그대로가라
    print(random.randint(1,5))
    elements = ["earth", 1, "air", "fire", "water"]
    elements[0] = "earths"
    print(random.choice(elements))
    print(random.sample(elements, 2)) # 두개만 뽑아라 랜덤으로
    random.shuffle(elements) # 셔플해라
    print(elements)
    # 비교연산자와 논리 연산자 ( >=, <=,>,<)와 논리 연산자 (and, or, not)
    a = 20
    b = 10
    c = a> 10 and b < 50
    print(c)
    
    c = 10<a<50
    print(c)
    # swap
    x = 5
    y = 6
    x, y = y,x
    print(x,y)
    # list 안에 list
    # a 에 저장된 것 : list주소값, 리스트는 주소를 담아놓은 항아리
    a = [1,2,3, ['a','b','c'],4,5]
    print(a[2:5])
    print(a[3][:2])
    # 2차원 list
    a = [['a',100, 50], ['a2',90,88],['a2',100,100]]
    print(a[0][:3])
    
    a = [1,2, ['a','b',['Life', 'is']]]
    print(a[0])
    print(a[2],[2],[0])
    # 리스트를 이용한 스택 ( stack ) Last in first out
    a = [10,20,30,40,50]
    a.append(60) # 데이터추가시 append 함수사용
    print(a.pop()) # 뒤에서 데이터를 가지고 오면서 삭제
    print(a)
    a.append(60)
    print(a.pop())
    a.append(70)
    a.append(80)
    print(a.pop())
    def calc(a,b):
        return a+b, a*b
    x,y = calc(3,4)
    print(x,y)
    print(x)
    x,y
    calc(4,5)
    calc(*(x,y))
    반응형

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

    Python 기초 공부 - 4  (0) 2021.03.06
    Python 기초 공부 - 3  (0) 2021.03.05
    Python 기초 공부 - 2  (0) 2021.03.04
    Python PEP8 요약  (0) 2021.02.06
    Flask를 이용하여, 웹 구축 - 1  (0) 2020.09.06
Designed by Tistory.