티스토리 뷰
[1] 조건문
(1) 비교연산자
비교연산자 | 비교상태 | 설명 | 참고 |
x < y | ~ 보다 작음 | x가 y보다 작은지 검사 | a=[1,2,3,4,5] b=a[:] # 값만 복사 c=a # 주소 복사 print(a == b) # True print(a is b) # False print(a == c) # True print(a is c) # True |
x > y | ~ 보다 큼 | x가 y보다 큰지 검사 | |
x == y | 같음 | 값만 비교 | |
x is y | 메모리 주소 비교 | ||
x != y | 같지 않음 | 값만 비교 | |
x is not y | 메모리 주소 비교 | ||
x >= y | 크거나 같음 | x가 y보다 이상인지 검사 | |
x <= y | 작거나 같음 | x가 y보다 이하인지 검사 |
(2) if "abc"는 참 if "" 는 거짓 (값이 있거나 1이면 참, 값이 없거나 0이면 거짓)
(3) 논리키워드
논리연산자 | 함수 | 예시 |
and | all(list) | boolean_list = [True, False, False, True] all(boolean_list) # False any(boolean_list) # True |
or | any(list) | |
not |
(4) 삼항 연산자 : 참일때 실행할거 if 조건 else 거짓일때 실행할거
(5) if와 elif, else
조건 | 특징 | |
if | 모든 if문을 순차적으로 실행 →오류방지위해 elif와 else를 사용 |
def test(score): if score >= 90: print('A') if score >= 80: print('B') if score < 80: print('C') test(95) # A,B print('-----') test(85) # B print('-----') test(75) # C |
elif | ||
else |
[2] 반복문
(1) 반복문 변수명
- 임시적인 반복 변수는 보통 i,j,k로 정함 (수학의 x,y,z처럼..)
(2) 0부터 시작하는 반복문
- 2진수가 0부터 시작하기 때문에 0부터 시작하는 걸 권장
(3) 무한 loop
- 반복 명령이 끝나지 않는 프로그램 오류
- CPU와 메모리 등 컴퓨터의 리소스를 과다하게 점유
(4) for문 : for i in range(0,10)
- 문자열을 한자씩 리스트로 처리(시퀀스 자료형) : for i in "abcdefg" :
- 각각의 문자열 리스트로 처리 : for i in ["abc","def","fgd"]:
- 간격을 두고 세기 : for i in range(1,10,2):
- 역순으로 반복문 수행 : for i in range(10,5,-1): # 10,9,8,7,6
- 반복 실행횟수를 명확히 알 때 사용
(5) while문 : 조건이 만족하는 동안 반복 명령문 수행 while 조건 :
- 반복 실행횟수가 명확하지 않을 때 사용
(6) 반복의 제어 : continue, break, else
- break: 반복문 끝냄, continue 다음으로 올라감
- else를 쓸 수도 있음(반복을 다 끝내면 실행해라)
- break로 종료된 반복문은 else block이 수행되지 않음
(7) 가변적인 중첩 반복문(variable nested loops)
- 실제 프로그램에서 반복문은 사용자의 입력에 따라 가변적으로 반복되고, 하나의 반복이 아닌 중복되어 반복이 일어남
문제1. 숫자맞추기 | 답 |
Q. 숫자를 맞춰보세요 (1~100) A. 50 -> 숫자가 너무 큽니다 40 -> 숫자가 너무 작습니다 ... 48 -> 정답입니다. 입력한숫자는 48입니다. |
import random answer = random.randint(0,101) print("숫자를 맞춰보세요 1에서 100사이의 값입니다.") num = 9999 while(num != answer): num = int(input("예상하는 숫자를 입력해주세요(1에서 100사이)")) if num > answer: print("너무 높은 숫자 입니다") elif num< answer: print("너무 작은 숫자 입니다") else: break print("정답입니다!") |
문제2. 연속적인 구구단 | 답 |
1~9 입력받아 구구단 입력 0 입력시 종료 |
print("구구단 몇 단을 계산할까요?(1~9)") while True: => True: 무한 루프에 빠질 경우가 있으니까 사용하면 좋지X dan = int(input()) if 1 <= dan and dan <= 9: print(f"구구단 {dan}단을 계산합니다") for i in range(1,10): print(f"{dan} X {i} = {dan*i}") elif dan == 0: print("구구단 게임을 종료합니다") break else: print("잘못 입력하셨습니다") |
[3] 디버깅 debugging
- 코드의 오류를 발견하여 수정하는 과정
- 오류의 '원인'을 알고 '해결책'을 찾아야 함 => 에러가 발생하면 인터프리터가 알려줌
- 문법적 에러를 찾기 위한 에러메시지 분석
ex. 들여쓰기 indentationError, 오탈자 및 대소문자 구분안함 nameError, not defined
- 논리적 에러를 위한 테스트도 중요
ex. 뜻대로 실행이 안되는 코드 => 중간 중간 프린터 문을 찍어서 확인( loop review처럼 해보기!)
*테스트 할 때 if__name__을 쓰면 shell에서 파이썬을 실행시킬때 main이 바로 실행되지 않음
def main():
print(15)
if __name__ == "__main__":
main()
- 모든 문제는 google + stackoverflow(전세계 개발자들의 코딩 Q&A 사이트)로 해결 가능
=> 유사질문을 보고 참고하고, 직접적인 답변은 X, 꼭 혼자 힘으로 끝까지 풀어보기
※ 출처 : 네이버 부스트코스 - 인공지능 기초 다지기(https://www.boostcourse.org/ai100)
'AI > Python' 카테고리의 다른 글
[Python] 자료구조(스택,큐,튜플,집합,딕셔너리) (2) | 2024.06.08 |
---|---|
[Python] 문자열, 함수 (0) | 2024.06.06 |
[프로그래머스 기초] Day 12,13,14,15 문자열, 리스트 (0) | 2024.06.05 |
[프로그래머스 기초] Day8,9,10,11,12 이차원 배열, 리스트, 예외처리,반복문 (2) | 2024.06.03 |
[Python] 기초 문법 (0) | 2024.06.01 |
- Total
- Today
- Yesterday
- llm
- 기초
- IH
- 경제
- 아침
- 스크랩
- 티스토리챌린지
- 실기
- 30분
- 운동
- SQL
- 뉴스
- 오픽
- Python
- 습관
- 다이어트
- ChatGPT
- 아침운동
- 프로그래머스
- 오블완
- 고득점 Kit
- 미라클모닝
- opic
- C언어
- 갓생
- 빅데이터 분석기사
- 루틴
- 줄넘기
- Ai
- 영어회화
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |