본문 바로가기
728x90
반응형
SMALL
[파이썬, Python] 인코딩과 디코딩(Encoding & Decoding) - 유니코드(utf-8, utf-16), 아스키 코드(ascii) 1. 인코딩과 디코딩 (Encoding & Decoding) 컴퓨터는 문자를 인식할 수 없기 때문에 숫자로 변환되어 저장됨 변환해주기 위해서는 기준이 있어야하는데 이것을 문자 코드라고 하며 대표적으로 ASCII코드 또는 유니코드가 있음 정보의 형태나 형식을 변환하는 처리에 대해 표준화하고 보안, 처리 속도 향상, 저장 공간 절약 등의 목적으로 사용 1-1. 인코딩(Encoding) 컴퓨터에서 사람이 인지할 수 있는 형태의 데이터를 약속된 규칙에 의해 컴퓨터가 사용하는 0과 1로 변환하는 과정 인코딩 = 코드화 = 암호화 = 부호화 예) 아스키코드 인코딩, URL 인코딩, Base64 인코딩, 유니코드 인코딩 ... [유니코드] (https://home.unicode.org/) Home home.unico.. 2023. 3. 14.
[파이썬, Python] 파일의 입력과 출력 - open(), close(), with구문, readline(), readlines() 1. 파일 열기 파일 열기 모드: w(출력), r(입력), a(추가 출력) w는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 모든 데이터를 모두 지우고 다시 저장 r은 지정된 경로에 파일이 없으면 에러, 있으면 해당 파일의 데이터를 읽어옴 a는 지정된 경로에 파일이 없으면 파일을 만든 후 저장하고, 파일이 있으면 기존의 데이터 뒤에 이어서 저장 파일 종류 모드: t(텍스트 파일, 생략이 가능), b(바이너리 파일 - 텍스트 파일 외 모든 파일/ 영상 또는 동영상, 음악 등) ✅파일을 출력할 때 작업이 모두 완료되면 close() 메소드를 사용하여 파일을 닫아야 정상적으로 데이터가 저장됨 파일변수 = open('파일 이름','파일 열기 모드 및 종류 모드') 변수명.clos.. 2023. 3. 13.
[파이썬, Python] 예외 처리에 대해 알아보자 🧐 1. 예외처리란❓ 예외란? 코드를 실행하는 중에 발생한 에러(Error) 오류가 발생되었을 때 별도의 처리를 하거나 무시하고 프로그램을 실행하는 것 오류가 발생될 것으로 예상되는 문장을 try 블록에 코딩하고, try 블록에 코딩된 내용을 실행하다가 오류가 발생하면 더이상 try 블록의 내용을 실행하지 않고 해당 오류의 except 블록에 코딩된 내용을 실행 파이썬은 발생할 수 있는 모든 문제를 예외 클래스로 만들어 놓음 1-1. try except 사용하기 try: 오류가 발생할 것으로 예상되는 문장 ... ... except: 오류가 발생했을 경우 실행할 문장 ... ... 5 / 0 연산에 대한 에러로 뒤에 코딩된 문장은 실행되지 않는다. print(10/4) print(5/0) # 에러 print.. 2023. 3. 13.
[파이썬, Python] 주민등록번호 유효성 검사하기 ✅ 문제 마지막 자리를 제외하고 순서대로 2 3 4 5 6 7 8 9 2 3 4 5 의 가중치를 곱함 각 자리수에 가중치를 곱한 수를 모두 더함 102 % 11 (11로 나눈 나머지 값을 구함) 해당 값을 11에서 뺌, 단 값이 두 자리인 경우 10으로 나눈 나머지 값을 구함 주민번호의 마지막 자리와 일치하면 유효 💡나의 풀이 jumin_no = list(input("주민등록번호 13자리를 '-'없이 입력하세요: ")) # str list num = [2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5] total = 0 for i in range(12): sum = int(jumin_no[i]) * num[i] total += sum print(f'숫자를 모두 더한 값은 {total}입니다') .. 2023. 3. 10.
[파이썬, Python] 랜덤한 로또 번호를 뽑아보자🍀 문제 1 ~ 45 까지 6개의 숫자를 무작위로 추출 중복되면 안됨 오름차순으로 정렬 보너스 숫자는 생각하지 않음 💡 나의 풀이 lotto = [] for i in range(6): num = random.randrange(1, 46) lotto.append(num) lotto = set(lotto) # set을 이용하여 중복값을 제거 lotto = list(lotto) lotto.sort() print(lotto) >>> [8, 10, 19, 20, 38, 44] 코드 공유 받습니다 😀 2023. 3. 10.
[파이썬, Python] 가위바위보 - 컴퓨터와 가위바위보 하기! ✌ 문제 가위, 바위, 보 중 하나를 선택하세요: 가위 컴퓨터: 바위, 나: 가위 -> 졌습니다 가위, 바위, 보 중 하나를 선택하세요: 가위 컴퓨터: 가위, 나: 가위 -> 비겼습니다 가위, 바위, 보 중 하나를 선택하세요: 가위 컴퓨터: 보, 나: 가위 -> 이겼습니다. 게임을 종료합니다. 💡 나의 풀이 temp_list = ['가위','바위','보'] while True: # 사용자가 '가위', '바위', '보' 말고 다른것을 입력했을 때 user = input('가위, 바위, 보 중 하나를 선택하세요: ') if user not in temp_list: print('다시 입력하세요.') # 제대로 입력했을 때 else: computer = random.choice(temp_list) # 가위,바위,보.. 2023. 3. 10.
[파이썬, Python] 주사위 게임 - 주사위 값을 맞춰라!🎲 문제 주사위의 예측값을 입력받고 맞았으면 종료, 틀릴 시 계속 입력한다. 주사위의 값을 입력하세요: 4 주사위의 값: 3, 틀렸습니다 주사위의 값을 입력하세요: 5 주사위의 값: 2, 틀렸습니다 주사위의 값을 입력하세요: 2 주사위의 값: 2, 맞았습니다. 게임을 종료합니다. 💡나의 풀이 import random while True: num = int(input('주사위의 값을 입력하세요: ')) if num > 6: print('잘못 입력했습니다. 다시 입력하세요.') else: dice = random.randrange(1,7) if num == dice: print(f'주사위의 값:{dice} 맞았습니다. 게임을 종료합니다') break else: print(f'주사위의 값:{dice}, 틀렸습니다.. 2023. 3. 10.
[파이썬, Python] 모듈(Module)에 대해 알아보자 🧐 1. 모듈(Module)이란 ❓ 함수나 변수 또는 클래스를 모아 놓은 파이썬 파일 모든 파이썬 파일(.py)은 모듈 다른 사람들이 만든 코드를 간단하게 사용할 수 있으며, 배포 또한 쉬움 간단한 모듈을 만들어보자. # start부터 end까지의 합을 구하는 함수 def total(start, end): sum = 0 for i in range(start, end+1): sum += i return sum # num1과 num2의 사칙연산의 결과를 반환 def calc(num1, num2): return num1 + num2, num1 - num2, num1 * num2, num1 / num2 util.py 로 저장 후 파일을 업로드 후 모듈로 사용한다. 2. 구글 코랩에서 파일 업로드 하기 1) 코랩의 .. 2023. 3. 10.
[파이썬, Python] 스페셜 메소드(Special Method) 1. 스페셜 메소드(Special Method) 해당 메소드들을 재구현하면 객체에 여러가지 파이썬 내장 함수나 연산자에 원하는 기능을 부여할 수 있음 __시작해서__ 로 끝나는 특수 함수 클래스의 전체 메소드를 알아보기 help(클래스명) 파이썬의 str 클래스 메소드를 오버라이딩을 해보자. # Point 클래스는 생성자를 통해 (x, y) 좌표를 입력받음 class Point: def __init__(self, x, y): self.x = x self.y = y # (3, 4) 튜플로 구성된 좌표 출력 def print_point(self): print(f'({self.x}, {self.y})') # 부모 클래스의 str()함수를 오버라이딩 def __str__(self): return (f'({sel.. 2023. 3. 10.
[파이썬, Python] 상속 - 클래스 상속, 메소드 오버라이딩, 다중 상속 1. 상속 기존의 정의해둔 클래스의 기능을 그대로 물려받음 기존 클래스에 기능 일부를 추가하거나, 변경하여 새로운 클래스를 정의함 코드를 재사용할 수 있게 됨 안정적이고 유지보수에 용이함 상속을 받고자 하는 대상인 기존 클래스를 부모 클래스(parent class, super class, base class) 라고 부름 상속을 받는 새로운 클래스는 자식 클래스(child class, sub class)라고 부름 부모 클래스 만들기 class Animal: def __init__(self, name, age): self.name = name self.age = age def eat(self, food): print(f'{self.name}는 {food}를 먹습니다') def sleep(self, hour).. 2023. 3. 10.
[파이썬, Python] 백준 1427번 - 소트인사이드 백준 1427번 소트인사이드 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 예제 입력1 2143 예제 출력1 4321 예제 입력2 999998999 예제 출력2 999999998 예제 입력3 61423 예제 출력3 64321 예제 입력4 500613009 예제 출력.. 2023. 3. 10.
[파이썬, Python] 백준 11650번 - 좌표 정렬하기 백준 11650번 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ .. 2023. 3. 10.
728x90
반응형
LIST