PYTHON 파이썬의 제어문, 조건문, 반복문
IF elif else & While & For
조건문 IF
조건을 판단하여 해당 조건에 맞는 명령을 수행 한다.
프로그램의 흐름을 제어하는 문법 / 조건문을 이용해 조건에 따라 프로그램 로직을 수행
파이썬에서는 들여쓰기 (4 spaces 칸 띄우기) 가 중요하다. - 언제나 같은 너비로 !
파이썬에서 코드의 블록(Block)은 들여쓰기(Indent)로 지정한다.
* 블록 block : 특정한 기능을 수행하기위한 한 단위의 코드 블록
if 문 안의 수행할 문장들 모두 들여쓰기가 잘 되어 있어야 한다. 아래 예시 有
if 조건문 다음 바로 오는 : 콜론을 잊지 않기 ! JS if문에는 : 을 쓰지않아서 이 점이 아직 안익숙하다.
money = True
if money:
print('택시타자')
else:
print('걷자')
# 들여쓰기 오류
if money:
print('택시타자')
print('얏호')
else:
print('걷자')
아래 예제 내용
x or y = 둘 중 하나라도 조건에 맞으면 실행
x and y = 둘 다 조건에 맞으면 실행
not x = x가 아니면 실행
x in 리스트 / x in 튜플 / x in 문자열
x not in 리스트 / x not in 튜플 / x not in 문자열 / 딕셔너리 too!
PASS 기능
조건문 안 실행될 내용이 없다면 pass를 꼭 써야한다.
/ Elif - 다중 조건 판단 조건문 / 조건부 표현식
Elif 는 이전 조건문이 거짓일 때 수행된다.
* 파이썬만의 특징 부등호가 대수학 부등식을 그대로 사용한다.
money=2000
if money>=3000:
print('택시타자')
else:
print('걷쟈') # 걷쟈 출력됨
# or
card = True
if money>=3000 or card:
print('택시타쟈~') # 택시타쟈~ 출력
else:
print('걸어가쟈~')
# x in / not in 리스트, 튜플, 문자열
print(1 in [1,2,3]) #True
print(1 not in [1,2,3]) #False
print(1 in (2,3)) #False
print(1 not in (2,3)) #True
#print(1 in '123') 오류남
#문자열 하나의 요소 하나까지도 비교가능하다ㄴ ㅣ..
print('1' in '123') #True
print('a' in 'sdfad') #Ture 신기하다...
a = [1,2,'aa','bb','abc','money']
if 'money' in a:
print('돈 있다 ! ') #돈 있다!
if 'card' not in a:
print('카드 없다 !') # 카드 없다 !
else:
print('돈도 카드도 없다!')
# PASS
if 'money' in a : # a에 money가 있으므로 출력 아무것도 안됨
pass
else:
print('걸어가쟈~')
#elif = else if (in JS)
if 'money' not in a:
print('돈 없지롱')
elif 'card' in a:
print('카드는 있지롱')
elif 'abc' in a :
print('abc 잇지롱') #abc잇지롱 출력
else:
print("I'm broke!")
#if문 한 줄로 작성하기
score=100
if score >=80 : message = 'GREAT!'
else : message ='GOOD JOB!'
print(message) # GREAT!
# 조건부 표현식 - 여기서는 : 콜론이 필요 없군!!
message ='GREAT!' if score>=80 else "GOOD JOB!"
print(message) # GREAT!
-
score = 85
if score >= 90:
print('A')
elif score >=80:
print('B') # B 출럭
elif score >=70:
print('C')
elif score >=60:
print('D')
else:
print('F')
# or and 연습
if True or False:
print('WOW') # WOW 출력
elif True and False:
print('Ooppss') # 출력 X
# 조건부 표현식 연습
# if는 중간에 들어간다 ! 참값=LEFT 거짓값=RIGHT
score = 99
result ="success" if score>=95 else "not bad"
print(result) #success
x = 15
if 0<= x <=15:
print('x는 0 이상 15 이하입니다.') #출력
반복문 while
while은 반복해서 문장을 수행해야 할 경우 사용한다.
if 와 비슷한 형식 = while 조건 : 수행할 문장 1 /2 /3 ... 이다.
코딩 테스트에서 실제 사용 예시를 확인해보면 for 문이 더 간결한 경우가 많다.
* 반복문을 사용할 때는 반복문을 탈출할 수 있는지 확인해야함 !!!
while문 연습 / while문 강제로 빠져나가기 break문
index=0
#index가 10 이하일동안
while index<10:
index += 1 #index = index+1 과 같음
print('나무를 %d번 찍었습니다.' %index)
if index==10:
print('나무 넘어갑니다~')
#prompt,number 변수 설정
prompt ="""
1. A
2. B
3. C
4. D
Enter Number:"""
number =0
while number !=4:
print(prompt)
number = int(input())
# 4를 입력하면 print가 멈춘다.
파이썬 while문 break + if문 예제
#while 문 빠져나오기 break
coffee = 10
money = 300
while money:
money -= 50
print('커피 여기있습니다.')
coffee -= 1
print(f'남은 커피: {coffee} 남은 돈: {money}')
if money == 0:
print('NO MONEY LEFT')
break
elif coffee ==0:
print('SOLE OUT')
break
coffee = 10
while True:
money = int(input("돈을 넣어 주세요: "))
if money == 300:
print("커피 여깄습니다")
coffee -= 1
print('현재 %d잔의 커피가 남았습니다.' %coffee)
elif money > 300:
print("잔돈 %d와 커피 여깄습니다." %(money-300))
coffee -= 1
print('현재 %d잔의 커피가 남았습니다.' %coffee)
else:
print('%d원 받았습니다. 금액이 부족합니다.' %money)
if coffee ==0:
print('오늘 장사 끗 얏호')
break
while문 맨 처음으로 돌아가기 - continue
# while문 맨 처음으로 돌아가기
# continue -> 다시 돌아가! 라는 뜻
idx = 0
while idx<10:
idx += 1
if idx%2==1:
print(idx)
print('-----')
idx2 =0
while idx2<10:
idx2 += 1
if idx2%2==0: continue
print(idx2)
print('------')
# 1~10까지 숫자 중 3의 배수를 뺀 나머지 값 출력해보기
index = 0
while index <10:
index += 1
if index%3==0: continue
print(index)
print('-----')
#무한루프
while 무한 루프 LOOP
while True:
print('Ctrl + C 를 눌러야 이 무한 루프를 빠져나갈 수 있숩니다.')
while 문 연습
i = 1
result = 0
while i <=10:
result += i
print(i,result)
i+=1
print(result)
print('-----')
#홀수만 더하기
idx = 0
results =0
while idx<10:
idx += 1
if idx%2==0: continue
results += idx
print(results)
print('-----')
index = 1
rst = 0
while index<=10:
if index%2==1:
rst += index
index += 1
print(rst)
print('-----')
반복문 for
파이썬의 직관적인 특징을 잘 표현해 주는 것이 for문
while문과 비슷하지만 for문은 매유 유용하고 문장 구조가 한눈에 쏙 들어온다.
for 기본 구조
for 변수 in 리스트/튜플/문자열:
수행할 문장 1
수행할 문장 2...
예제
LIST = ['one', 'two', 'three']
for i in LIST:
print(i)
print('-----')
#튜플 변수 대입 이용
a = [(1,2),(3,4),(5,6)]
for (first, last) in a:
print(first+last)
print('-----')
#for문의 응용
marks = [24,35,76,98,83]
number = 0
for mark in marks:
number += 1
if mark >=80:
print(f'{number}번 학생은 합격입니다.')
else:
print(f'{number}번 학생은 힘을 내세요')
print('-----')
#for + continue
index = 0
for i in marks:
index += 1
if i <80: continue
else: print(f'{index}번 학생 합격입니다')
print('-----')
# for 과 함께 자주 쓰이는 range 함수
add = 0
for A in range(1,11):
add = add+A
print(add)
print('-----')
score = [ 23, 66,55, 88, 99]
for number in range(len(score)):
if score[number] <80:continue
print(f'{number+1}번 학생 축하해요우')
for문과 range 를 사용한 구구단 만들기
구구단 값만 나오게 만들기
* end = " " 을 하게되면 출력하는 글자 뒤에 " " 안의 문자 / 빈칸을 add 해서 출력
리스트 안에 for 사용하기 / 리스트 내포 / if문도 함께 / 이중 리스트 내포 / 구구단 출력하기
리스트 안 요소들 * 3 을 한 값을 넣은 리스트를 출력하기
{ } 안에 있는 요소 사용해서 if 문 추가
참고 : Do it! 점프 투 파이썬 / 유튜브 동빈나님 영상
'Python > 기초 다지기' 카테고리의 다른 글
[Python] 기본 입출력 .input() 빠르게 입력 받기 sys.stdin.readline() .rstrip() (0) | 2021.05.31 |
---|---|
[Python] 점프 투 파이썬 - 딕셔너리 자료형, 집합 자료형, 불 자료형, 변수 (1) | 2021.05.29 |
[Python] 프로그래밍의 기초 : 자료형 - 숫자형(Number), 문자형(String), 리스트(List), 튜플(Tuple) (0) | 2021.05.29 |
댓글