5일차 파이썬 기초

hs0820·2023년 5월 6일

파이썬

목록 보기
4/16
post-thumbnail

파이썬 기초

제로베이스 취업 과정을 시작하고 처음 맞이하는 주말이다.
미처 듣지 못한 강의들을 전부 듣고 문제 풀이까지 제대로 끝내야지...

operator 모듈

산술 연산자

비교 연산자

논리 연산자

조건식

어떤 조건에 따라 실행이 분기 되는 식

num1 = 10
num2 = 30

print('num1 이 num2 보다 크다') if 
num1 > num2 
else 
print('num1 이 num2 보다 크지 않다')
-> num1 이 num2 보다 크지 않다

if문

if 조건식 :
실행문(코드 블럭, 들여쓰기)

num1 = 10
num2 = 30

if num1 < num2 :
    print('{}은 {} 보다 작다'.format(num1, num2))
-> 1030 보다 작다

if~else문

조건식 결과에 따라 둘 중에 하나가 실행됨
조건문을 나중에 코딩하기 위해서는 pass를 명시하면 됨

seniAge = 65

myAge = int(input('나이를 입력하세요.')) 65

if myAge >= seniAge : 
	print('교통 요금 무료 대상자입니다.')
else : 
	print('교통 요금 무료 대상자가 아닙니다.')
-> 교통 요금 무료 대상자입니다.

maxTemp = int(input('최고 온도 :')) -> 22
minTemp = int(input('최저 온도 :')) -> 17

subTemp = maxTemp - minTemp

print('일교차 : {}'.format(subTemp))
if subTemp >= 11 :
    print('감기조심하세요.')
else :
    print('산책하기 좋은 날씨입니다.')
-> 일교차 : 5
-> 산책하기 좋은 날씨입니다.

다자택일 조건문

여러 가지 조건식 결과에 따라 실행문이 결정됨
if~elif

myScore = int(input('나의 점수 : ')) -> 77
grades = ''

if myScore >= 90 :
    grades = 'A'
elif myScore >= 80 :
    grades = 'B'
elif myScore >= 70 :
    grades = 'C'
elif myScore >= 60 :
    grades = 'D'
else :
    grades = 'F'

print('나의 등급은 {} 입니다.'.format(grades))

-> 나의 등급은 C 입니다.

print('1. 카페라떼(4.0) \n 2. 에스프레소(3.0 \n 
	   3. 아메리카노(3.5) \n 4. 자몽에이드(4.3)')


choiceNum = input('원하는 메뉴를 입력하세요.') -> 3

if choiceNum == 1 or choiceNum == '카페라떼' :
    print('메뉴 : 카페라떼')
    print('가격 : 4,000')
elif choiceNum == 2 or choiceNum == '에스프레소' :
    print('메뉴 : 에스프레소')
    print('가격 : 3,000')
elif choiceNum == 3 or choiceNum == '아메리카노' :
    print('메뉴 : 아메리카노')
    print('가격 : 3,500')
elif choiceNum == 4 or choiceNum == '자몽에이드' :
    print('메뉴 : 자몽에이드')
    print('가격 : 4,300')
else :
    print('잘못 선택하셨습니다.')

-> 메뉴 : 에스프레소
-> 가격 : 3,000

다자택일 사용시 조건 범위를 명시하면 좋다.

중첩 조건문

조건문 안에 또 다른 조건문이 있을 수 있다.
최대 2단계까지만 사용

score = int(input('나의 점수 : ')) -> 66

if score < 60 :
    print('재시험 대상자입니다.')
else :
    if score >= 90 :
        print('A')
    elif score < 90 and score >= 80 :
        print('B')
    elif score < 80 and score >= 70 :
        print('C')
    elif score < 70 and score >= 60 :
        print('D')
-> D

반복문

정해 놓은 반복 횟수에 따라 반복 실행한다.

  • 횟수에 의한 반복은 for문이 주로 사용된다.

for문

  • for문 사용 방법
    for ~ in 키워드
for i in range(5) :
    print('*' * (i+1))*
**
***
****
*****

반복 범위

  • range() 기본 사용 방법
    for i in range(1, 11, 1) :
    -> 1부터 10까지 1씩 증가
  • 단계가 1인 경우 생략 가능

while문

조건에 만족하면 반복 실행한다. 그렇지 않으면 반복 중단
조건에 의한 반복은 while문이 주로 사용됨

endNum = 5
i = 0
while i < endNum :
    print('*' * (i+1))
    i += 1*
**
***
****
*****

예제

import random

# 병원 하루 내방 환자 50 ~ 100명 사이
# 누적 독감 환자수가 최초 10,000명을 넘는 날짜?

i = 0
date = 0
flag = True
while flag :
    patientCount = random.randint(50, 100)
    i += patientCount
    date += 1

    if i >= 10000 :
        flag = False

print('{}일 누적 환자 10,000명을 돌파했습니다.'.format(date))

반복문 제어

  • continue 키워드
    반복 실행 중 continue를 만나면 실행을 생략하고, 다음 반복 실행문으로 넘어감
# 1부터 100까지의 정수 중 3과 7의 공배수와 최소 공배수를 출력하자
minNum = 0

for i in range(1, 101) :
    if i % 3 != 0 or i % 7 != 0 :
        continue

    print('{}는 3과 7의 공배수입니다.'.format(i))

    if minNum == 0:
        minNum = i
else :
    print('최소 공배수는 {}'.format(minNum))2137의 공배수입니다.
4237의 공배수입니다.
6337의 공배수입니다.
8437의 공배수입니다.
최소 공배수는 21
  • break 키워드
    반복 실행 중 break를 만나면 반복문을 빠져나온다.

# 강아지 체중 2.2kg 넘으면 이유식 중단
# 현재 체중 800g
# 한번 이유식 먹을 때 70g 증가
# 예상되는 이유식 날짜는?

todayWeight = 800
maxWeight = 2200
increase = 70
date = 1

while True :
    todayWeight += increase
    date += 1
    if todayWeight >= 2200 :
        break

print('{}일 이유식을 중단합니다.'.format(date))
-> 21일 이유식을 중단합니다.

중첩 반복문

반복문 안에 또 다른 반복문을 선언

# 구구단

for i in range(1, 10):
    for j in range(2, 10):
        result = i * j
        print('{} * {} = {}\t'.format(j, i, result), end='')
    print()
profile
개발 스터디 노트

0개의 댓글