파이썬

    [Python] 포메팅 format

    '%'를 사용한 포멧팅변수 타입에 따라서 %s, %d, %f 구분해서 써줘야 함 기본적으로 %s는 문자열, %d는 정수, %f는 실수를 받아온다. 아래 예제에서 %f는 하나의 변수를 그대로 받아온 것이 아니라, one_length와 E의 곱의 결과를 받아왔다. 즉 포메팅을 하면서 연산의 결과를 받아올 수도 있다. 그리고 %f와 %.2f의 차이는 %.2f는 실수를 받아올 때 소수점 둘째 자리까지만 표현되도록 하라는 의미다 즉 %.3f라고 되어있으면 소수점 셋째자리까지 표현된다.something = '볼펜'EA = 2one_length = 5.343scale = 'cm'print('%s %d개의 길이는 %f%s 입니다.' % (something, EA, one_length*EA, scale))#실수 소수점 ..

    [Python] enum형

    선언하기from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3print(type(Color.GREEN))print(Color.GREEN)print(Color.GREEN.name)// 출력Color.GREENGREEN반복하기 (이터레이션 지원)from enum import Enumclass Color(Enum): RED = 1 GREEN = 2 BLUE = 3 for color in Color: print(color) // 출력Color.REDColor.GREENColor.BLUE자동 값 사용하기 (auto)from enum import Enum, autoclass Color(Enum): ..

    [Python] 문자열 관련 함수 총 정리

    type(변수) : 문자열(string) 문자열 표현법 4종 : '문자열', "문자열", ''''문자열''', """문자열""" 이스케이프 코드 1 (\ + 문자) : \n, \t, \\, \', \"\n : 줄바꿈\t : 탭간격\\, \', \" : 문자 표현 이스케이프 코드 2 (\ + 문자) : \b, \r\b : 백스페이스\r : 캐리지 리턴\f : 폼피드\v : 수직 탭\000: 널 문자열 연산자 : + , *문자열 + 문자열 : 문자열 간 연결문자열 * 정수 : 정수만큼 문자열 반복 자료형 변환 : strstr(값) : 값(실수, 정수, bool 등)을 문자열로 변환함 문자열 인덱싱 & 슬라이싱인덱싱 : 변수[인덱스]슬라이싱 : 변수[시작인덱스 : 종료인덱스] = a[x : x+3] = a[x..

    [Python] f-string (문자열)

    기존 문자열 방식 1. 더하기 키워드 person1 = "철수" person2 = "영희" print(person1 + "는 " + person2 + "를 좋아한데요!") 2. % 서식 person1 = "철수" person2 = "영희" print("%s는 %s를 좋아한데요!"%(person1, person2)) 3. str.format 함수 person1 = "철수" person2 = "영희" print("{}는 {}를 좋아한데요!".format(person1, person2)) 이렇게 그동안 사용해오던 문법들은 각 단어가 어느 부분에 전달되는지, 어떤 기호를 빼고 읽어야 하는지 깊게 관찰이 필요하지만 f-string은 매우 직관적이고 가독성이 뛰어나다. person1 = "철수" person2 = ..

    [Python] pass, continue, break 차이점

    pass 1. 조건문에서 넣어줄 조건이 딱히 없을 경우 2. class 선언할 때, 초기에 넣어줄 값이 없을 때 for i in range(10): if i % 2 == 0: pass print(i) else: print(i) print("Done") 0 1 2 3 4 5 6 7 8 9 Done continue 다음 loop를 실행한다 for i in range(10): if i % 2 == 0: continue print(i) print(i) print("Done") 1 3 5 7 9 Done break 반복문을 멈추고 밖으로 탈출하게 된다 for i in range(10): if i % 2 == 0: break print(i) else: print(i) print("Done") Done https:/..

    [Python] 난수 random 모듈

    import random from random import random, randint random : 0부터 1까지 중에서 소수점 자리의 숫자를 무작위로 추출해준다. random.random() 결과) 0.123123 randit, randrange : 범위 안의 숫자를 선택한다, 차이점은 randrange의 start와 stop 값은 정수만 가능하다. random.randint(3, 10) 결과 10 random.randrange(3, 10, 3) 결과 9 choice, choices, sample : choice 함수를 이용하면 단일값을, choices는 여러 개의 값. temp = range(1, 10) random.choice(temp) 결과 2 random.choices(temp, k = 5)..

    [Python] math 모듈

    math 모듈은 단순 python 연산을 넘어 조금 더 복잡한 산술 연산이 필요할 때 사용한다. import math를 통해서 사용할 수 있다. 상수 math.pi) 원주율 파이로, 3.141592653589793이다. math.e) 자연 상수 e로, 2.718281828459045이다. math.tau) 타우 상수로, 6.283185307179586이다. 함수 math.pow(x, y) x에 y 승을 계산한 결과값을 반환한다 math.pow(3, 2) # 9 math.sqrt(x) 주어진 인자의 제곱근의 값을 반환한다 math.sqrt(25) # 5.0 math.ceil(x) 주어진 인자의 소수전을 올림하여 정수로 변환한다 math.ceil(3.14) # 4 math.floor(x) 주어진 인자의 소숫..

    [Python] 슬라이싱 (Slicing) 기본과 예제

    정의 슬라이싱(slicing) or 슬라이스(slice): 연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다. 슬라이싱을 하면 새로운 객체를 생성하게 된다. 즉, 일부분을 복사해서 가져온다고 생각하면 된다. 기본 사용법과 형태 기본 형태 a라는 연속적인 객체들의 자료구조(예: 리스트, 튜플, 문자열)가 있다고 가정을 했을 때 기본 형태는 아래와 같다. a[start : end : step] 각각 start, end, step 모두 양수와 음수를 가질 수 있다. start: 슬라이싱을 시작할 시작위치다. end: 슬라이싱을 끝낼 위치로 end는 포함하지 않는다! step: stride(보폭)라고도 하며 몇개씩 끊어서 가져올지와 방향을 정한다..

    파이썬으로 문제 풀 때 주의해야할 점들

    1. input() 말고 sys.stdin.readline() 를 사용하자. 결론만 말하자면, 입출력 속도가 다음과 같다. sys.stdin.readline() > raw_input() > input() 뭐 어느정도로 더 빠르고 느리냐는, 코딩 테스트 문제푸는 수준에서 다룰만한 내용이 아니므로 넘어가도록 하고, 직관적으로만 느꼈던 것은, input() 으로 코드를 제출할 시, 시간초과가 뜨지만, sys.stdin.readline() 으로 제출할 시 정답이 뜨더라는 것이다. 이와 비슷한 이슈는 이미 이전부터 있었다. 참고 링크 : https://www.acmicpc.net/board/view/19327 한편, 나는 입출력을 지금까지 이런 방식으로 했다. a = [int(x) for x in input()...

    파이썬 1157 - 단어 공부

    str=input().lower() wordList=list(set(str)) cnt=[] for i in wordList: tmp=str.count(i) cnt.append(tmp) if cnt.count(max(cnt)) >= 2: print('?') else: print(wordList[(cnt.index(max(cnt)))].upper())