[Python] 파이썬 인덱싱과 슬라이싱
·
Language/Python
인덱싱앞서 '리스트 이해하기'에서도 살펴보았다시피, 리스트에서 하나의 요소를 인덱스 연산자를 통해서 참조(접근)하는 것을 인덱싱(indexing)이라고 한다. 인덱스는 정수이며, 첫 요소는 1이 아닌 0부터 시작한다는 점에 유의해야 한다.shopping_list = ['apple', 'banana', 'carrot', 'date']print(shopping_list[0]) # apple 파이썬에서는 음수 인덱스도 가능하다. 항상 리스트의 마지막 요소는 항상 -1이기 때문에 리스트의 마지막 요소에 접근할 때 굉장히 편리하다. 위 예제에서 shopping_list[-1]은 리스트의 마지막 요소를 나타내며 shopping_list[-3]은 마지막에서 세 번째 요소를 나타낸다.  참고로 리스트의 크기를 넘어선 ..
[Python] 파이썬 시퀀스 데이터 타입
·
Language/Python
시퀀스란?파이썬에서 시퀀스(squence) 자료형은 순서를 가진 요소들의 집합이라는 공통적인 특성을 가지고 있다. 문자열, 리스트, 튜플 모두 시퀀스에 속하며, 이들은 모두 동일한 연산을 공유한다. 예를 들어, 리스트에 적용되는 연산은 문자열에도 그대로 적용할 수 있다. 시퀀스 데이터 타입의 특징은 아래와 같다:요소들이 순서를 가지고 있다.요소들은 인덱스를 사용하여 참조할 수 있다.text = "some text"print(text[0], text[3], text[-1]) # s e tfruits = ["apple", "banana", "cherry", "pear", "fig"]print(fruits[0], fruits[3], fruits[-1]) # apple pear fig 시퀀스에서 가능한 연산..
[Python] 파이썬 리스트 이해하기
·
Language/Python
리스트란?학생 100명의 점수를 저장해야 한다고 하자. 100명의 점수를 score1, score2, score3, .. , score100처럼 변수를 100개를 만들어서 저장하기에는 선언되는 변수가 너무 많아지고 관리가 어려워진다. 학생이 100명이 아니라 1000명이 되고, 10000명이 된다면 관리가 점점 불가능에 가까워질 것이다. 그래서 탄생한 것이 리스트(list)이다. 리스트를 사용하면 모든 학생들의 점수를 하나의 리스트에 저장할 수 있고, 새로운 학생이 추가되더라도 쉽게 추가할 수 있다. 리스트 생성하기리스트는 대괄호([]) 안에 값을 나열하면 생성된다.scores = [73, 34, 98, 55, 89, 100, 79, 54] 공백 리스트를 생성한 후 값을 추가할 수도 있다. 리스트에 값을..
[Python] 달력 출력 프로그램
·
Language/Python
프로그램 요구 사항1개월의 달력을 출력하는 프로그램을 작성하시오.사용자는 한 달의 최대 일수(28-31)와 1일의 시작 요일(0-6)을 입력한다.0: 일요일, 1: 월요일, …, 6: 토요일을 의미한다.입력받은 정보를 바탕으로, 해당 월의 달력을 보기 좋게 출력한다.달력은 요일 제목(일, 월, 화, 수, 목, 금, 토)과 날짜를 포함하며, 날짜는 1일부터 시작한다.날짜는 1주 단위로 정렬되고, 시작 요일에 맞게 공백을 추가하여 출력한다. 나의 풀이# 사용자 입력 받기days_in_month = int(input("한 달의 최대 일수를 입력하세요 (28~31): "))start_day = int(input("1일의 시작 요일을 입력하세요 (0: 일, 1: 월, ..., 6: 토): "))# 요일 제목 출력..
[Zustand] Zustand 문서 읽으며 Tic-Tac-Toe 게임 만들어보기
·
Frontend/React.js
곧 다가오는 새해를 맞이해 만다라트 계획표를 웹 상에서 만들 수 있는 작은 웹 앱을 만들어보고 있다. 클라이언트 측 상태 관리를 Zustand로 해보면 어떨까 싶어 Zustand 문서의 튜토리얼을 따라하며 Tic-Tac-Toe 게임을 간단히 만들어보면서 Zustand를 익혀보았다. 프로젝트에 무작정 도입하기 보단 기본 사용법을 익힌 후에 도입하려 하니 더 수월하고 감이 잡히는 듯하다.  소스 코드 GitHub - jisunipark/tic-tac-toeContribute to jisunipark/tic-tac-toe development by creating an account on GitHub.github.com 정리store 생성store을 생성하여 상태들을 관리한다. const useGameStor..
[JavaScript30] 05 - Flex Panel Gallery
·
스터디/JavaScript30
소스 코드 JavaScript30/05 - Flex Panel Gallery/index-START.html at master · jisunipark/JavaScript3030 Day Vanilla JS Challenge. Contribute to jisunipark/JavaScript30 development by creating an account on GitHub.github.com Today I Learnedtransition 활용패널을 클릭 시 위 아래에서 글자가 나타나게 하는 트랜지션이다. 패널 요소 클릭 시 open-active 클래스가 토글되도록 했고, 디폴트 상태에서는 transform 속성의 값으로 translateY(+/-100%)를 주어 해당하는 요소를 숨겨두었다가 open-activ..
[모던 자바스크립트 Deep Dive] 48장: 모듈
·
개발서적/모던 자바스크립트 Deep Dive
⭐️ 노션에서 보기모듈의 일반적 의미모듈(module): 애플리케이션을 구성하는 개별적 요소로서 재사용 가능한 코드 조각일반적으로 모듈을 기능을 기준으로 파일 단위로 분리함모듈이 성립하려면 파일 스코프(모듈 스코프)를 가질 수 있어야 함자신만의 파일 스코프를 갖는 모듈의 모든 자산은 캡슐화되어 다른 모듈에서 접근할 수 없음 (비공개 상태) = 모듈은 개별적인 존재로서 애플리케이션과 분리되어 존재함⇒ 하지만 모듈은 애플리케이션이나 다른 모듈에 의해 재사용되어야 의미가 있음.모듈은 공개가 필요한 자산에 한정하여 명시적으로 선택적 공개가 가능 (export)모듈 사용자는 모듈이 공개(export)한 자산 중 일부 또는 전체를 선택 해 자신의 스코프 내로 불러들여 재사용 할 수 있음 (import)모듈은 애플..
[모던 자바스크립트 Deep Dive] 47장: 에러 처리
·
개발서적/모던 자바스크립트 Deep Dive
⭐️ 노션에서 보기에러 처리의 필요성에러가 발생하지 않는 코드를 작성하는 것은 불가능하며 에러는 언제나 발생할 수 있음발생한 에러에 대해 대처하지 않고 방치하면 프로그램은 강제 종료됨 console.log('[Start]'); foo(); // ReferenceError: foo is not defined // **발생한 에러를 방치하면 프로그램은 강제 종료된다.** // **에러에 의해 프로그램이 강제 종료되어 아래 코드는 실행되지 않는다.** console.log('[End]');try … catch 문을 사용해 발생한 에러에 적절하게 대응하면 프로그램이 강제 종료되지 않고 계속해서 코드를 실행시킬 수 있음 console.log('[Start]'); **try** { foo(); ..