[왕초보를 위한 Python] 2. 제어 구조

joyful·2024년 10월 1일
0

python

목록 보기
6/6
post-custom-banner

들어가기 앞서

이 글은 왕초보를 위한 Python을 공부한 내용을 정리한 글입니다. 모든 출처는 해당 문서에 있습니다.


1. while 문

1.1 while 문

  • 어떤 조건이 만족되는 동안 아래에 쓴 문장들을 반복
>>> number = 1
>>> while number <= 100:	# number가 100보다 작거나 같은 동안에
...    print(number, end=' ')	# number라는 변수에 들어있는 수를 화면에 출력
...    number += 1
...
    
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 
  • 블록 내부의 소스코드들은 공백 네 칸 또는 Tab 키로 들여쓰기 해줄 것
  • 소스코드 입력 후 Enter 키 입력하여 입력 종료

1.2 변숫값 증가

>>> num = num + 1
>>> num += 1	# 위와 동일
  • 단, 전/후위 증/감 연산자 사용 불가

💡 round()

  • 반올림 함수
>>> round(1.23456, 2)	# 소수점 셋째 자리에서 반올림하여 소수점 둘째 자리까지 출력
1.23
>>> round(1.23456, 3)	# 소수점 넷째 자리에서 반올림하여 소수점 셋째 자리까지 출력
1.235
>>> round(2.675, 2)
2.67	# 부동소수점 연산(floating point)의 한계로 인한 결과



2. 조건문(if-elif-else)

2.1 if와 else

>>> a = 3
>>> b = 5
>>> if a > b:		# 만약 a가 b보다 크면
...		print('a')	# 'a'를 출력
...	else:			# 그렇지 않으면
...		print('b')	# 'b'를 출력
...
b

2.2 elif

  • 조건을 여러개 줄 때 사용
>>> c = 15 * 5
>>> d = 15 + 15 + 15 + 15 + 15
>>> if c > d:
...    print('c가 d보다 커요')
>>> elif c == d:
...    print('c와 d는 같아요')
>>> elif c < d:
...    print('c가 d보다 작아요')
>>> else:
...    print('뭘까용')
...
    
c와 d는 같아요
  • == : 양 변의 값이 같은지 비교하는 연산자

2.3 나머지 계산

>>> a = 48
>>> b = 4
>>> if a % b == 0:
...		print(f'{a}{b}로 나누어 떨어지네요!')
>>> elif a % b != 0:	# else: 와 동일
...		print(f'{a}{b}로 나누어 떨어지지 않아요 ㅠ')
...
484로 나누어 떨어지네요!

2.4 반복문 중단

💻 script

>>> max = 10
>>> while True:
...		num = int(input())
...		if num > max:
...			print(num, '은(는) 너무 큽니다!')
...			break
...

💻 입력

3
6
7
11

💻 출력

11() 너무 큽니다!

2.5 and/or 연산자

2.5.1 if 문 내 사용

>>> s = 'banana'

# and 사용
>>> if 'a' in s and 'b' in s:
...		print('banana에는 a도 있고 b도 있어요')
...
banana에는 a도 있고 b도 있어요

# or 사용
>>> if 'a' in s or 'c' in s:
...		print('banana에는 a 또는 c가 있어요')
...
banana에는 a 또는 c가 있어요

2.5.2 if 문 없이 사용

s = 'banana'

>>> 'a' in s
True
>>> 'b' in s
True
>>> 'c' in s
False
# and 단독 사용
>>> a_in_s = 'a' in s
>>> a_in_s and 'b' in s
True

# or 단독 사용
>>> a_in_s or 'c' in s
True

2.5.3 and/or 연산 순서

  • and/or의 왼쪽 항을 먼저 평가하고, 오른쪽 항은 필요할 때 평가



3. for 문

  • 시퀀스(sequence)를 이용해서 원하는 명령을 반복할 때 사용
  • 형식 : for 인덱스 in 범위
>>> family = ['mom', 'dad', 'sys', 'me', 'bro']
>>> for i in family:
...		print(i, len(i))
...
mom 3
dad 3
sys 3
me 2
bro 3

3.1 range()

  • 정수를 인자로 주면 그 범위 안의 정수들을 만들어주는 함수
  • 형식 : range(시작 값, 끝 값 + 1)

💻 예시 1

>>> list(range(2, 7))
[2, 3, 4, 5, 6]

💻 예시 2

>>> for i in range(2, 7):
...		print(i, end=' ')
...
2 3 4 5 6



4. for-else와 while-else

4.1 for-else

  • for문 내의 소스코드를 모두 실행 후 else문 실행
>>> for x in [2, 3, 4, 5]:
...		print(x, end=' ')
...	else:
...		print('리스트 원소 출력 완료')
...
2 3 4 5 리스트 원소 출력 완료
  • 반복문 break 시 else 블록 실행 안 됨
>>> for x in [1, 2, 3, 4, 5]:
...		if x % 3:	# x가 3의 배수가 아닌 경우
...			print(x)
...		else:	# x가 3의 배수인 경우
...			break	# 반복문 종료
...	else:
...		print('리스트 원소 출력 완료')
...
1
2

4.1 while-else

  • for-else와 동일
>>> countdown = 5
>>> while countdown > 0:
...		print(countdown)
...		countdown -= 1
...		if input() == '중단':
...			break
...	else:
...		print('발사')
5
4
3
중단

📖 참고

profile
기쁘게 코딩하고 싶은 백엔드 개발자
post-custom-banner

0개의 댓글