■ JITHub 개발일지(TIL : Today I Learned) 7일차
□ TIL ::
파이썬 알고리즘(Python Algorithm), 기초 문법, 백준 실습
1. 파이썬 자료형
- 파이썬은 기본적으로 사칙연산을 지원
- 숫자 자료형의 나눗셈 계산 (/ - 나눗셈, // - 몫 반환, % - 나머지 반환)을 잘 구분하여 사용할 것
- 파이썬에서 num = num + 1은 num += 1 과 같이 자주 표현한다
- 문자열도 사칙연산이 가능
- 문자열 인덱싱을 통해 요소 각각을 나누어 사용가능
# 아래 세가지 방법 모두 동일한 결과물이 출력
print("n1 : %s, n2 : %s, sum : %s" % (n1, n2, n1+n2)) # old Style
print("n1 : {}, n2 : {}, sum : {}".format(n1, n2, n1+n2)) # ~ python < 3.6
print(f"n1 : {n1}, n2 : {n2}, sum : {n1+n2}") # ~ python >= 3.6
- 문자 자료형에는 f-string 정말 많이 사용되니 잘 숙지할 필요
런타임에서 코드가 동작하는 시간은 비교적 느린 편
- 인덱싱, 리스트 슬라이싱, 추가(.append()), 삭제(.remove()), 수정, pop
- 딕셔너리에서 없는 Key를 호출하면 에러가 발생하지만,
아래와 같이 ".get(호출하는 Key, 없을때 출력값)"을 사용할 수 있다,
print(products["drink"])
>>> KeyError 발생
print(products.get("drink", "없음"))
>>> "없음"
- 딕셔너리 값 추가, 변경 삭제는 아래와 같이 사용가능하다.
products = {
"bread" : 1000,
"milk" : 3000,
"egg" : 6000,
}
products["bread"] = 1500 # bread key의 value를 1500으로 변경
products["drink"] = 2000 # drink key를 가진 value 추가
del product["egg"] # drink의 egg key 삭제
- set자료형은 중복된 값을 포함하지 않고 indexing과 slicing기능을 지원하지 않는다.
2. 파이썬 자료형 변환
- 자료형을 변경(int ↔ str, list ↔ tuple ↔ set, any ↔ str 등)할 때에는 조건이 맞아야 한다.
(ex. "3" 은 int로 변경이 가능하나, "한글" 은 int로 변경이 불가능)
- list에 중복값이 있을 경우 set으로 형변환하면 중복값이 모두 사라지게 된다.
3. 함수
- 함수의 선언과 결과 리턴
def 함수명():
함수 내용
return 결과
4. 다른 파일에 있는 코드 import
- 다양한 방식으로 from 과 import를 사용할 수 있다.
- 다른 파일을 import하여 선언된 코드(함수, 변수)들을 활용할 수 있다.
from a import a_funtion
from a import *
import a
from folder import b
from folder.b import *
from folder.c import c_funtion1, c_funtion2
5. 값 비교하기
- 포함관계 확인 : in
4 in [1, 2, 3] # False
1 in [1, 2, 3] # True
6. 조건문
- 비어있는 string, list, 숫자 0 → False로 판단
empty_string = ""
empty_list = []
if not empty_string:
print("비어있는 문자열")
if not empty_list:
print("비어있는 리스트")
>>> 비어있는 문자열
>>> 비어있는 리스트
7. 과제. 계산기 만들기
- 사용자의 입력을 받아 계산기 기능을 구현하기
▼ 요구조건
- main.py 파일에서 사용자의 입력을 받아 기능을 처리
- 사용자가 입력한 숫자와 연산기호(+, -, *, /)에 따른 연산 결과를 출력
- 더하기, 곱하기, 빼기, 나누기 기능을 하는 함수는 main.py가 아닌 다른 파일에서 작성
- 사용자의 입력을 받는 방식은 자유롭게 작성하셔도 무관합니다. 다만, 입력받기 전 사용자가 어떤 방식으로 입력해야 하는지 가이드 출력
# calculator.py
def cal(a, b, x):
if x == "0":
print(a+b)
elif x == "1":
print(a-b)
elif x == "2":
print(a*b)
elif x == "3":
print(a/b)
# main.py
import calculator
print("계산기 : 두 숫자와 연산자를 입력하세요")
print("※ 연산자 : 덧셈(0), 뺄셈(1), 곱셈(2), 나눗셈(3)")
num1 = int(input("첫번째 수를 입력하세요: "))
num2 = int(input("두번째 수를 입력하세요: "))
operator = input("연산자를 입력하세요: ")
calculator.cal(num1, num2, operator)
■ TIT :: Today I thought
- 새로 배우는 것들이 많아서 그런지, 많이 접하지 않게 되는 코드들은 쉽게 잊혀진다.
아는 것 같더라도 다시 보게되는 코드들, 함수나 문법들은 꼼꼼히 다시 생각해볼 것
- 코드에 주석 꼼곰하게 복기하면서 넣어볼 것
- 현재 공부하고 있는 상태, 위치에 조급함을 내려놓고 정확하게 알고 많이 생각하는 것에 중요도를 둘 것
'DEV > 파이썬 이론' 카테고리의 다른 글
파이썬 코딩 :: 파이썬 숫자 야구 게임 만들기 (0) | 2022.09.07 |
---|---|
파이썬 코딩 :: 파이썬 로또 번호 생성기 만들기 (0) | 2022.09.07 |
파이썬 코딩 :: 파이썬 외부 패키지 (0) | 2022.09.06 |
파이썬 코딩 :: 파이썬 패키지(Package) (0) | 2022.09.06 |
파이썬 코딩 :: 파이썬 문법, 효율적인 코딩 공부법_TIL#06 (4) | 2022.09.05 |
댓글