프로그래밍 농장

파이썬 입문 -7일차( 반복문 for ) 본문

Python

파이썬 입문 -7일차( 반복문 for )

Tennessee201 2019. 7. 1.
728x90

 

파이썬 반복문의 경우 다른언어들과 같이 for, while문을 대표적으로 사용한다.

 

파이썬 for문은 아래와 같은 형식으로 쓰인다.

파이썬 for문의 형식 

파이썬 for문에서는 전에서 배웠던 if문과 같이 indent(4칸공백) 을 사용하여야한다.

 

 기본 사용법

1.

range(10) 으로 반복값 할당시, [ 0,1,2,3,4,5,6,7,8,9 ] 순으로 변수 a 에 차례로 할당되어 반복,출력을 하게된다.

 

2.

위에서 추가적으로 출력문에 변수를 선언하여 출력시, 매출력마다 변수에 할당되는 순서를 확인해볼수있다.

 

range 함수 응용해보기

 

  •  range( 종료값 )                          ex )     range ( 5 ):  -> 0,1,2,3,4     ( 기본값 ) 
  •  range( 시작값, 종료값 )                ex )     range ( 2, 5 )  -> 2,3,4 
  •  range( 시작값, 종료값, 증가값 )      ex )     range ( 1, 8, 2 ) -> 1,3,5,7

     + ex )   range ( 10, 0, -1 )  ->  10부터 1씩 감소 , 0이되기전에 종료.

--> 증가값이든 감소값이든 항상 종료값이 나오기전에 반복문을 종료한다.

 

 range 함수 대신 사용해보기

 

  •   for a in 'abcde' :                 
  •   for a in ( 1, 2, 3, 4, 5 ) :       

 

   ->

 

중첩 반복문 

 

indent( 4칸 비움 ) 만 유지해주면서 중첩형식 그대로 안에 넣어주면 된다.

-> 중첩 반복문을 이용해 만든 구구단 예시

 

실습예제


1.    1 ~ 20까지의 정수중, 짝수만 출력하는 식을 작성하시오.     


2.    100 ~ 51까지의 정수 값 중 홀수에 해당하는 값만을 출력하는 코드를 작성하시오.


3.    1 ~ 50까지의 정수 값을 출력 할 떄 한 줄에 5개의 값이 출력 되도록 하시오.             


4.    1~100까지의 누적 합을 구하는 코드를 작성하시오.


5.    다음 문자열 변수에서 공백을 제외한 문자의 수를 구하시오.
         a = "Python basic program language"  
                

6.  'a' ~ 'z'  까지 임의의 문자열을 8자리씩 총 10개줄을 생성하는 코드를 작성하시오.                                                      ( 시리얼 넘버 생성 )


7.  'a' ~ 'z', 'A' ~ 'Z', '0' ~ '9' 까지 임의의 문자열을 16자리씩 총 10개줄을 생성하는 코드를 작성하시오.                  ( 시리얼 넘버 생성 )

 

 

1번 풀이 

+ if문 이용식

 

 

2번 풀이

 

 

 

3번 풀이

해설   

for문을 통해 1부터 50까지 정수 출력식을 만들고, 그안에 if 문으로 5의 배수마다 print(a)를 넣어 개행(줄넘기기) 를 실행하게 만들고, 5의 배수가 아닐시에는, 출력문에 end 함수를 넣어서 print반복마다 개행되는 특성을 무시해주었다.

 

 

4번 풀이

b=0 으로 초기값을 설정하고,  for문에서 a가 1부터 100까지 1씩증가할동안, b에 모든a값을 더해준다.

for문 종료후 누적값 : 5050

 

 

5번 풀이

반복문안에 range 함수대신 , a 문자열을 넣고, if문으로 x안의 a문자에서 " "(띄어쓰기)가 아닐시 0으로할당된 b에 1씩더해줌으로 식을 짜면된다.

조금 헷갈릴수 있기 떄문에,  x의 반복문안에서 a문자열을 대입하여, 띄어쓰기가 아니면, b에 1씩더해준다고 생각하면된다.

 

 

6번 풀이

먼저 모듈선언을 해준뒤, 문제에서 8개씩 10줄이라하였으므로, 세로 열을 b, 10번으로 범위지정을해준뒤, 안 for문에는 가로 행을 a,8번으로 범위지정을해준다. 이떄 , 가로행 식안에 97-122사이로 랜덤한수가 문자로 변환되어 한칸씩 띄어출력되게 설정해주고,  8개가 출력되면, 반복 2번쨰줄 세로행차례에서 print( ) 으로 개행만 들어갈수있게 만들어준다. 

 

728x90

'Python' 카테고리의 다른 글

Python [ 2일차 - list ]  (0) 2019.10.17
Python [ 1일차 ]  (0) 2019.10.17
파이썬 입문 -6일차( 조건문 )  (0) 2019.06.26
파이썬 입문 -5일차( 랜덤함수 )  (0) 2019.06.25
파이썬 키워드 검색용 페이지  (0) 2019.06.21