728x90
반응형
이번주 계획
- 반복 과정에서 조건 판단하기 2
- 반복 과정에서 조건 판단하기 3
- 양수만 입력 받기
for문은 반복은 n번, 나눗셈도 n번, if문 판단은 n번 합니다.
print('+와 -를 번갈아 출력합니다.')
n = int(input('몇 개를 출력할까요? : ')
for i in range(n) :
if i % 2 :
print('-', end='' )
else :
print('+', end='' )
print()
위의 코드는 두가지의 문제점이 존재한다.
첫번째, for문이 반복할 때마다 if문을 수행한다는 것 입니다.
즉, n이 50,000 이라면 if 문도 50,000 번 수행됩니다.
두번쨰는 이 프로그램은 상황에 따라 유연하게 수정하기 어렵다는 것 입니다.
만약 i를 1부터 n까지 1씩 증가시키고 싶다면
다음과 같이range() 함수로 전달하는 값과 for문의 print() 함수 호출 순서를 바꿔야 합니다.
print('+와 -를 번갈아 출력합니다.')
n = int(input('몇 개를 출력할까요? : ')
for i in range( 1, n+1 ) :
if i % 2 :
print('-', end='' )
else :
print('+', end='' )
print()
위에서 제시한 문제점의 해결 법
print('+와 -를 번갈아 출력합니다.')
n = int(input('몇 개를 출력할까요? : ')
for _ range( n//2 ) :
print('+-', end='' )
if n % 2 :
print('+', end='' )
print()
for문은 '+-'를 n//2 번 출력합니다.
이때 for문에 언더스코어(_) 를 사용한 이유는 for문에서 range() 함수가 for 문을 순환하며 반환하는 값(인덱스) 를 사용할 필요가 없기 떄문입니다. 즉, 파이썬에서는 무시하고 싶은 값을 언더스코어로 표현할 수 있습니다.
n이 홀수일 경우에는 마지막에 '+'를 추가하기 위해서 if문을 사용했습니다.
728x90
반응형
'TEAM STUDY > PYTHON' 카테고리의 다른 글
양수만 입력 받기 (0) | 2021.01.09 |
---|---|
반복 과정에서 조건 판단하기 3 (0) | 2021.01.07 |
반복 과정에서 조건 판단하기1 (0) | 2021.01.03 |
연속하는 정수의 합을 구하기 위해 값 정렬하기 (0) | 2021.01.02 |
1부터 n 까지 정수의 합 구하기 (0) | 2020.12.30 |