반복 과정에서 조건 판단하기 2

2021. 1. 4. 06:32·TEAM STUDY/PYTHON
728x90
반응형

이번주 계획

  1.  반복 과정에서 조건 판단하기 2
  2.  반복 과정에서 조건 판단하기 3
  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
'TEAM STUDY/PYTHON' 카테고리의 다른 글
  • 양수만 입력 받기
  • 반복 과정에서 조건 판단하기 3
  • 반복 과정에서 조건 판단하기1
  • 연속하는 정수의 합을 구하기 위해 값 정렬하기
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (938)
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    VUE
    BackendDevelopment
    redis
    파이썬
    docker
    네트워크 관리사 2급 실기
    리눅스 1급 요약
    springboot
    네트워크 관리사 학점
    리눅스 마스터 요약
    네트워크 관리사 요약
    REST API
    Git 저장소
    쿠버네티스 스터디
    jpa
    리눅스 마스터 1급 요약
    리눅스 마스터 1급
    리눅스 마스터
    네트워크 관리사 실기
    네트워크 관리사 자격증
    git
    알고리즘
    Spring
    스프링
    java
    리눅스 마스터 1급 정리
    네트워크 관리사
    쿠버네티스
    네트워크 관리사 2급
    파이썬 알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
반복 과정에서 조건 판단하기 2
상단으로

티스토리툴바