큐범
Just do debug
큐범
전체 방문자
오늘
어제
  • 전체보기 (128)
    • 회고 (4)
    • JAVA (16)
      • JAVA 기초 (18)
      • JAVA Algorithm, Datastruct (13)
    • Spring (11)
    • Micro Service Architecture (3)
    • JPA (6)
    • gRPC (4)
    • Network (8)
    • Process (7)
    • Cloud (4)
    • Python (10)
    • Web(vue) (2)
    • UMC (1)
    • DB (9)
    • CS (1)
    • Clean Code (1)
    • TDD (9)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
큐범

Just do debug

Python

[python] 파이썬 제어문 정리

2021. 7. 4. 16:28

Life is too short, You need Python

제어문


 

if, while, for 등의 제어문에 대해서 탐구하겠다. 프로그래밍은 건축과 비슷한 면이 존재한다.

건축을 할 때 나무, 돌, 시멘트와 같은 재료는 자료형이 되고 집의 뼈대를 이루는 철근은 제어문에 해당된다.

이번 글은 제어문에 관한 자료이다.

​

if조건문:

수행할문장1

수행할문장2

...

else:

수행할문장A

수행할문장B

...

파이썬에서는 들여쓰기가 중요하기 때문에 다른 프로그래밍언어를 사용했던 사람들은 더욱 주의해야한다.

​

자료형 참 거짓
숫자 0이 아닌 숫자 0
문자열 "abc" ""
리스트 [1,2,3] []
튜플 (1,2,3) ()
딕셔너리 {"a":"b"} {}

x=3

y=2

print(x>y)

>>> True

print(x<y)

>>> False

print(x==y)

>>> False

print(x!=y)

>>> True

​

if문

money=2000

if money >= 3000:

print("택시타고가라")

else:

print("걸어가라")

>>> 걸어가라

​

파이썬이 갖고있는 신기한 조건문

in not in
a in 리스트 a not in 리스트
a in 튜플 a not in 튜플
a in 문자열 a not in 문자열

1 in [1,2,3]

>>> True

1 not in [1,2,3]

>>> False

​

pocket = ['paper', 'cellphone','money']

if 'money' in poket:

print("택시타고가라")

else:

print("걸어가라")

>>> 택시타고가라

​

아무 일도 하지 않게 설정하고싶을 경우

pocket = ['paper', 'cellphone','money']

if 'money' in poket:

pass

else:

print("걸어가라")

​

​

다양한 조건을 판단 (elif)

pocket = ['paper','cellphone']
card=1
if'money' in pocket:
print("택시를 타고 가라")
else:
if card:
print("택시를 타고 가라")
else:
print("걸어가라")
= pocket = ['paper','cellphone']
card=1
if 'money' in pocket:
print("택시를 타고 가라")
elif card:
print("택시를 타고 가라")
else:
print("걸어 가라")

elif를 통해 더 간단하게 표현 가능

​

​

while문

반복해서 문장르 수행해야 할 경우 사용

treeHit=0

while treeHit<10:

treeHit=treeHit+1

print("나무를 %d번 찍었습니다." %treeHit)

if treeHit ==10:

print("나무가 넘어갑니다.")

>>>나무를 1번 찍었습니다.

나무를 2번 찍었습니다.

나무를 3번 찍었습니다.

나무를 4번 찍었습니다.

나무를 5번 찍었습니다.

나무를 6번 찍었습니다.

나무를 7번 찍었습니다.

나무를 8번 찍었습니다.

나무를 9번 찍었습니다.

나무를 10번 찍었습니다.

나무가 넘어갑니다.

​

break를 통해 while문에서 빠져나옴

coffe=10

money=300

while money:

print("돈을 받았으니 커피를 줍니다.")

coffe=coffe-1

print("남은 커피의 양은 %d개 입니다."% coffe)

if not coffe:

print("SOLD OUT")

break

​

break문 이용해 커피 자판기 작동 과정

coffee=10

while True:

money=int(input("돈을 넣어 주세요: "))

if money ==300:

print("커피를 준다.")

coffee = coffee-1

elif money>300:

print("거스름돈 %d를 주고 커피를 줍니다." % (money-300))

coffee=coffee-1

else:

print("돈을 다시 돌려주고 커피를 주지 않습니다.")

print("남은 커피의 양은 %d개 입니다." % coffee)

if not coffee:

print("커피가 다 떨어졌습니다. 판매를 중지합니다.")

break

​

조건에 맞지 않는 경우 맨 처음으로 돌아가기

a=0

while a<10:

a=a+1

if a %2 ==0: continue

print(a)

​

무한루프

항상 참일 경우

Ctrl+C를 누르면 while문을 빠져 나올 수 있습니다.

​

i=0

while True:

i+=1

if i>5:break

print("*" * i)

*

**

***

****

*****

​

​

​

for문

for 변수 in 리스트(또는 튜플, 문자열):

수행할 문장1

수행할 문장2

...

​

전형적인 for문

test_list=['one','two','three']

for i in test_list:

print(i+'1')

​

변형된 for문

a=[(1,2),(3,4),(5,6)]

for(first,last) in a:

print(first+last)

​

for문의 응용

marks=[90,25,67,45,80]

number=0 #학생에게 부여할 번호

for mark in marks: # marks의 순서대로 mark에 대입

number = number+1

if mark>=60:

print("%d번 학생은 합격입니다."%number)

else:

print("%d번 학생은 불합격입니다."%number)

>>>1번 학생은 합격입니다.

2번 학생은 불합격입니다.

3번 학생은 합격입니다.

4번 학생은 불합격입니다.

5번 학생은 합격입니다.

​

for문과 continue

marks=[90,25,67,45,80]

number=0

for mark in marks:

number=number+1

if mark < 60:continue

print("%d번 학생 축하합니다. 합격입니다." %number)

>>>1번 학생 축하합니다. 합격입니다.

3번 학생 축하합니다. 합격입니다.

5번 학생 축하합니다. 합격입니다.

​

for와 함께 자주 사용하는 range함수

sum=0

for i in range(1,11):

sum=sum+i

1부터 10까지 하나씩 차례로 대입하면서 sum+i라는 문장을 수행

​

marks=[90,25,67,45,80]

for number in range(len(marks)):

if marks[number]<60:continue

print("%d번 학생 축하합니다. 합격입니다."%(number+1))

range(len(marks)) = range(5)

​

for와 range를 이용한 구구단

for i in range(2,10): #1번 for문

for j in range(1,10): #2번 for문

print(i*j,end=" ")

print('')

​

리스트 안에 for문 포함하기

a=[1,2,3,4]

result=[num*3 for num in a]

print(result)

>>> [3,6,9,12]

​

result=[num*3 for num in a if num %2 == 0]

print(result)

>>>[6,12] 짝수에만 3을 곱하여 담고 싶은 경우

​

[표현식 for 항목1 in 반복 가능 객체1 if 조건1

for 항목2 in 반복 가능 객체2 if 조건2

...

for 항목n in 반복 가능 객체n if 조건n]

​

A학급의 평균

A=[70,60,55,75,95,90,80,80,85,100]

total = 0

for point in A:

total+=point

average=(total/len(A))

print(average)

>>>79.0

​

    'Python' 카테고리의 다른 글
    • [python] 파이썬 클래스 정리
    • [python] 파이썬 함수 정리
    • [python] 자료형 정리
    • [Python(파이썬)] 소개 다운로드
    큐범
    큐범

    티스토리툴바