일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- EC2
- chromeextention
- Jupyterlab
- djangorestframework
- 오블완
- mysql
- streamlit
- 티스토리챌린지
- pandas
- aws
- Github
- ai 캠프
- Python
- ollama
- sLLM
- ai캠프
- team_project
- 머신러닝
- pytorch
- finpilot
- 파이썬
- conda
- mifare
- ML
- ai_캠프
- 정치기 필기
- seaborn
- lightsail
- 로컬 런타임
- django
- Today
- Total
greatsangho의 이야기
캠프 2일차 - 파이썬 반복문 본문
배운 내용 복습하기
- 변수
식별자
식별자() --> 함수
첫글자가 대문자인 식별자 --> 클래스
네이밍 룰 : 스네이크, 카멜케이스
스네이크 : 식별자_식별자
카멜케이스 : 각 단어의 첫글자는 대문자로 해서 결합 - 연산자
사칙연산자 : + - * /
대입연산자 : =
**, //, % - 문자열
슬라이싱
[startindex : endindex -1]
정방향
역방향 : 맨 마지막 데이터를 쉽게 접근
step : [ :: -1]
연산
문자열끼리 더하기
문자열 + 숫자 - 파이썬의 특징
예약어 : 사용하며 안되지만 사용해도 에러가 안 나서 그게 문제
우선순위
타입이 없지만 조사는 가능 ( type() )
타입 변환이 가능하다
int() float() bool() str() ...
얕은복사와 깊은복사
비교연산자
같다: ==
다르다 !=
크기 비교 >< <= >=
bool 값(True/False)으로 반환
and(&) or(|) not(!)
정수 판단
.isdecimal()
시간 가져오기
import datetime
now = datetime.datetime.now() + datetime.timedelta(hours = 9) # 한국 시간
print(f"{now.year}년 {now.month}월 {now.day}일 {now.hour}시 {now.minute}분 {now.second}초")
오전/오후 구해보기
계절 출력하기
남은 시간 계산하기
target = now.replace(hour=17, minute=50, second=0) # 목표시간
RemainTime = target - now # 두 시간차
TotalSec = RemainTime.total_seconds()
그 다음 몫과 나머지를 이용해 시분초를 구한다
응용문제
순수하게 강의를 듣는 시간 구해보기
강의는 정시부터 50분까지 진행하고 10분 휴식
1시부터 2시는 점심시간이고 강의는 오전 9시부터 오후 5시 50분까지 진행하는 조건임
나이 입력받아 출력
홀짝 구분
if 문을 합칠 때 두 코드가 달라짐에 유의하기
윤년 판단하기
year = input("년도를 입력하세요: ")
year = int(year)
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
print("윤년")
else
print("평년")
자료구조
- list
- tuple
- set
- dictionary
# 자료구조는 crud 가능해야 한다
# c : 생성
# r : 읽기
# u : 업데이트
# d : 삭제
연산: +, *, len()
append(), insert()
extend()
del, remove : 위치정보와 값으로 제거한다.
pop : 삭제한 데이터를 리턴한다
clear : 전부
in/not in
반복문
for 문
for i in range(5): 의 형태
응용문제
* 출력해서 가운데 정렬, 오른쪽 정렬하기
거꾸로 출력
range(4, -1, -1)
range(5)[::-1]
.reverse()는 반환을 하지 않아 Nonetype에러 때문에 조건에 올 수 없음
나누어 떨어지는 수의 합 및 리스트에 담기
if 문과 .append() 활용
조건문 안에 아무것도 할 것이 없으면 pass 적어주어야 함
리스트가 리스트를 요소로 가지는 2차원 리스트
로또 만들기
미리 lotto라는 리스트를 만들고 이를 clear해서 사용할 경우 문제 발생
--> 이는 리스트를 저장할 때 값이 아닌 주소를 저장하기 때문임
--> 위 코드에서 모든 lottos에 같은 메모리 주소가 들어감
--> 마지막 실행한 랜덤 값으로 전체 값이 같아짐
안쪽에서 새로운 리스트 생성 필요
** 깊은 복사와 얕은 복사를 주의하자!
반복문 중간에 나가려면 break
반복문 해당 과정을 건너뛰면 continue
로또 번호를 겹치지 않게 6개를 만들어보기
while문 사용
import random
lotto = []
while len(lotto) < 6:
random_data = random.randint(1,45)
if random_data not in lotto:
lotto.append(random_data)
print(lotto)
딕셔너리
{key:value}
키값은 겹칠 수 없음
웹에서 json 형태로 많이 사용됨
딕셔너리 value는 딕셔너리, 리스트, 숫자, 문자열 모두 가능함
key 유무 확인
'name' in dict_1
key 값만 리스트로 반환
dict_1.keys()
기본적으로 키값 리스트임
value 값만 리스트로 반환
dict_1.value()
value 값을 출력
key, value 쌍으로 집합화
dict_1.items()
key value 쌍으로 받아 출력
지우기
dict_1.clear()
리스트와 딕셔너리를 이요한 투표시스템 작성
단어의 빈도수 구하기
응용문제
혼공파 character 만들기 문제
https://github.com/greatsangho/python_study/blob/main/20240821_day_2.ipynb
python_study/20240821_day_2.ipynb at main · greatsangho/python_study
Contribute to greatsangho/python_study development by creating an account on GitHub.
github.com
'프로그래밍 > SK AI 캠프' 카테고리의 다른 글
캠프 5일차 - 파이썬 모듈, 클래스 (0) | 2024.08.26 |
---|---|
SKN AI 캠프 1주차 (0) | 2024.08.23 |
캠프 4일차 - 함수와 예외 (0) | 2024.08.23 |
캠프 3일차 - 파이썬 리스트, 함수 (0) | 2024.08.23 |
캠프 1일차 - 파이썬 개발환경 세팅 및 파이썬 기초 (2) | 2024.08.20 |