본문 바로가기

Dev/python

파이썬의 제어문

IF문

기본 예제

# 기본적인 형태의 조건문 예시이며
# 파이썬에서는 들여쓰기를 중요시해야한다!!!!
money = True
if money:
    print("택시를 타고 가라")
    print("aa")
else:
    print("걸어 가라")

IF문 조건안에는 여러가지 형태를 통해 사용할 수 있다.

# 비교연산자
money = 2000
if money >= 3000:  # False
    print("택시를 타고 가라")
    print("aa")
else:
    print("걸어 가라")
    
#------------------------#

# or 둘중에 하나라도 참이면 True
# and 둘다 참이여야 True
# not 은 반대 (뒤에것이 바뀐다)

money = 2000
card = 1
if money >= 3000 or card:  # True
    print("택시를 타고 가라")
    print("aa")
else:
    print("걸어 가라")

#-----------------------#

# in 뒤에는 리스트나 튜플등이 들어감
# 1이 [1,2,3]에 있냐? 라는 뜻
if 1 in [1, 2, 3]:
    print("택시를 타고 가라")
else:
    print("걸어 가라")

 

조건문에서 아무일도 하지않게 설정하고 싶다면??

pocket = ['paper', 'cellphone']
card = True
if 'money' in pocket:	# money가 pocket안에 있으면 통과(pass)
    pass				
elif card:              # 다중조건 판단할때 elif 사용 (else if와 같음)
    print("택시를 타고 가라")
else:
    print("걸어가라")

 

조건부 표현식

score = 70
# if score >= 60:
#     message = "success"
# else :
#     message = "failure"

# 위와같은 형태를 파이썬에서는 조건부 표현식으로 간결하게 쓸 수 있다
# 성공일때 조건을 먼저 써주고 다음에 조건식을 써주는 형태
# 조건부 표현식에서는 else를 꼭 써주어야 한다.
message = "success" if score >= 60 else "failure"
# 다른언어에서는 삼항 연산자 ?로 표현하는거와 비슷

print(message)

 

반복문 - while문

treeHit = 0
while treeHit < 10:
    treeHit = treeHit + 1
    print("나무를 %d번 찍었습니다." % treeHit)
    if treeHit == 10:
        print("나무 넘어갑니다.")
        
        # 마찬가지로 파이썬에서는 들여쓰기를 중요시해야한다!!!
        
#-----------------------------------------#

coffee = 10
money = 300
while money:
    print("돈을 받았으니 커피를 줍니다.")
    coffee = coffee - 1
    print("남은 커피의 양은 %d개 입니다." % coffee)
    if not coffee:
        print("커피가 다 떨어졌습니다. 판매를 중지합니다.")
        break 
        # money는 300으로 아직 있기때문에 무한정으로 도는데 break문을 만나서 반복문(while)문을 빠져나감
#-----------------------------------------#   
   
a = 0
while a < 10:
    a = a+1
    if a % 2 == 0: # continue를 만나는거는 짝수일 경우
        continue # 아래를 수행하지않고 넘어가서 while문 처음으로 돌아감
    print(a)
    # 결과값 : 1 3 5 7 9
        

 

반복문 - for문

# 기본적인 for문
test_list = ['one', 'two', 'three']
for i in test_list:
    print(i)
    
    
# 다양한 for문의 사용
a = [(1, 2), (3, 4), (5, 6)]
for (first, last) in a: # a에서 하나씩 빼와서 넣는다 first = 1, last = 2
    print(first + last) # 더해서 출력하므로 3
    # 결과값 : 3 7 11
    

# 종합적으로 확인1
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks: # in이기 때문에 하나씩 빼온다 차례로
    number = number + 1
    if mark >= 60:
        print("%d번 학생은 합격입니다." % number)
    else:
        print("%d번 학생은 불합격입니다." % number)
        
        
# 종합적으로 확인2
marks = [90, 25, 67, 45, 80]
number = 0
for mark in marks:  # in이기 때문에 하나씩 빼온다 차례로
    number = number + 1
    if mark < 60:
        continue
    print("%d번 학생 축하합니다 합격입니다." % number)

 

range 함수

sum = 0
for i in range(1, 11):  # 1이상 11미만!!
    sum = sum + i # 1부터 10까지 더하겠다!
print(sum)

 

반복문 종합적 예시(구구단) 

for i in range(2, 10): # 바깥쪽 i for문이 돈다
    for j in range(1, 10): # 안쪽코드인 j먼저 for문이 다 돌고
        print(i*j, end=" ")
        # end는 print안에 사용할수 있는 옵션
        # ,를 하고 end한다음 " " 이렇게 적어주면 이어서 띄어쓰기를 써주겠다는 뜻
    print('')

 

리스트 내포(List comprehension)

# 리스트 내포(파이썬에서 쓰기 편하게 하기위해 사용)

result = [num * 3 for num in a]
# num*3을 넣고 싶은데 num은 뭐냐면 a에서 꺼내온 값이다.
# 아래의 내용을 한줄로 편하게 사용하기위해!!!

result = []
for num in a:
    result.append(num*3)

#------------------------------------#
# 조건문 추가
result = [num * 3 for num in a if num % 2 == 0]

result = []
for num in a:
    if num % 2 == 0:
        result.append(num*3)

# 결과적으로
# 리스트 내포방식은 하고자하는것을 제일 앞에 적어준다 x*y를 하고싶은 것
result = [x*y for x in range(2, 10) for y in range(1, 10)]

result = []
for x in range(2, 10):
    for y in range(1, 10):
        result.append(x * y)
        # 결과적으로 x곱하기 y한 값을 추가하고싶은게 목적

'Dev > python' 카테고리의 다른 글

파이썬 모듈  (0) 2020.09.21
파이썬 함수(입출력)  (0) 2020.09.17
파이썬 자료형(2)  (0) 2020.09.15
파이썬 자료형  (0) 2020.09.15
파이썬의 시작  (0) 2020.09.14