[Python] 07. 제어문 - 반복문(while, for문), for 문 실습

2017. 8. 2. 13:41·빅데이터 프로그래밍/Python
728x90
반응형

01. 제어문 - 반복문 While, for 문

1. While문

- '참'일동안 실행합니다.

- 조건을 만족하지 않으면 한번도 실행을 하지 않습니다.

- 순환 횟수를 정확히 지정할 수 없을 경우 사용합니다.

 

1) 1씩 증가시키는 누적 알고리즘

su = su + 1 

 

2) 1부터 5까지 출력

- 무한 루틴을 이용하는 경우: while(true){...

- while문에 조건을 명시한 경우: while(index <= 4){...

 

[실행 화면]

1
2
3
4
5
-----------
5
4
3
2
1
-----------
1
2
3
4
5
▷ While1.py
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

su = 0

while True:
    su = su + 1
    print(su)

    if su == 5:
        break
    
print('-----------------')

su = 6
while 1:  # 0이외의 값은 모두 참처리
    su = su -1
    print(su)
    
    if su == 1:
        break

print('-----------------')

su = 0
while su <= 4:
    su += 1
    print(su)
     

   
-------------------------------------------------------------------------------------
 

 

[실습] 2의 배수이면서 3의 배수, 4의 배수, 5의 배수, 6의 배수, 7, 8, 9의 배수인
   수가 발견되면 출력하고 종료하는 프로그램을 제작하세요. 
① 필수 코드

    su = 0

② while True: 문 선언
③ 2, 3, 4, 5, 6, 7, 8, 9의 배수인 수만 출력
    - if 문에 and를 사용해야함, 나머지: %
 
[실행 화면]
2520
▷ While2.py
- \ +Enter: 문장의 연결을 의미
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

su = 0

while True:
    su = su + 1
    if su % 2 == 0 and su % 3 == 0 and su % 4 == 0 and \
       su % 5 == 0 and su % 6 == 0 and su % 7 == 0 and \
       su % 8 == 0 and su % 9 == 0:
        print(su)
        break
    


-------------------------------------------------------------------------------------​
 

 

* switch ~ case, do ~ while문은 존재하지 않는다.

 

02. 제어문 - 반복문 for문

1. for문

- 반복 횟수가 지정되어 있는 경우 사용합니다.

 

1) 유형 1

for 변수 in 범위:
반복으로 실행할 코드
 

 

2) 유형 2

for 변수 in 범위:
반복으로 실행할 코드
else:
for 구문이 모두 실행되었을 때 실행할 코드

 

 

2. 기본적인 for문의 사용

 

[출력 화면]

A

B
C
가
나
다
1
2
3
--------------
12345
--------------
january
february
march
--------------
1월
2월
3월
--------------
i: 0
i: 1
i: 2
i: 3
i: 4
--------------
1
2
3
--------------
1
2
3
4
for문을 종료했습니다.
▷ For1.py 기초 문법 
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

str1 = 'ABC가나다123'
for c in str1:
    print(c)
print('--------------')

listVal = [1, 2, 3, 4, 5]
for c in listVal:
    print(c, end='')  # end='' 라인 변경 안됨
print()
print('--------------')
    
months = {'january':'1월', 'february':'2월', 'march':'3월'} # Dictionary
for c in months:
    print(c)  # 키
print('--------------')

for c in months:
    print(months[c])  # 값
print('--------------')
            
for i in range(5):  # 0 ~ 4
    print('i: '  + str(i))
print('--------------')

scope = [1, 2, 3, 4, 5]
for x in scope:
    print(x)
    if x < 3:
        continue  
    else:
        break 
print('--------------')

for i in range(1, 5): # 1 ~ 4
    print(i)
else:
    print('for문을 종료했습니다.')


-------------------------------------------------------------------------------------
 

 

3. 1부터 100까지 2의 배수이면서 3의 배수이고 4의 배수인
    수를 출력하는 프로그램을 제작하세요.

① 필수 코드
    index = 0;

    .....
    .....
    print("최종값: " + str(index))
② 1 단계: 1 ~ 100까지 출력

    . for문 사용
③ 2 단계: 2의 배수이면서 3의 배수이고 4의 배수인 수만 출력
    . for문안에 if문이 있어야합니다.
    . if 문에 and를 사용하면 편리합니다.
  

[실행 화면]

12
24
36
48
60
72
84
96
최종값: 100
▷ For2.py
-------------------------------------------------------------------------------------

# -*- coding: utf-8 -*-

index = 0

for index in range(1, 101):
    if index % 2 == 0 and index % 3 == 0 and index % 4 == 0:
        print(index)

print('최종값: ' + str(index))        

  
-------------------------------------------------------------------------------------
 

[실습 1] 구구단 출력 
- 출력할 구구단: 2 

① 1 단계: i 변수를 증가시키며 1부터 9까지 출력 
② 2 단계: 단의 출력 
    2 x 1
    2 x 2
    2 x 3
    ...
    ...
    2 x 9
③ 3 단계: "=" 출력
    2 x 1 =
    2 x 2 =
    2 x 3 =
    ...
    ...
④ 4 단계: 곱하기 결과 출력
    2 x 1 = 2
    2 x 2 = 4
    2 x 3 = 6
    ...
    ...
    2 x 9 = 18 

 

[실행 화면]

2 x 1 = 2 
2 x 2 = 4 
2 x 3 = 6 
2 x 4 = 8 
2 x 5 = 10 
2 x 6 = 12 
2 x 7 = 14 
2 x 8 = 16 
2 x 9 = 18 

▷ Gugudan.py
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

for i in range(1, 10):
    print('2 × ' + str(i) + ' = ' + str(2 * i))
    


-------------------------------------------------------------------------------------

 

 

 

[실습 2] 1단 ~ 18단까지 구구단 출력 
- for문은 다른 for문을 요소로 가지고 있을 수 있습니다.
- for문이 2개 사용됩니다. 
예) 실시간 펜션 예약 시스템: http://hae5reum.com/ 

① Gugudan.py 복제하여 Gugudan2.py를 생성합니다. 
② 'dan' 이라는 변수가 선언된 for 문을 이용하여 2단을 18번 출력하는
    for문을 작성하세요. 기존에 작성된 for문은 소스가 변경되지 않습니다.
③ 출력 부분을 변경하여 1단부터 18단까지 출력하세요.
④ 출력되는 단의 제목을 추가하세요. 예) 1 단

 

[실행 화면]
1단 
1 x 1 = 1 
1 x 2 = 2 
1 x 3 = 3 
1 x 4 = 4 
1 x 5 = 5 
1 x 6 = 6 
1 x 7 = 7 
1 x 8 = 8 
1 x 9 = 9 
2단 
2 x 1 = 2 
2 x 2 = 4 
2 x 3 = 6 
2 x 4 = 8 
2 x 5 = 10 
2 x 6 = 12 
2 x 7 = 14 
2 x 8 = 16 
2 x 9 = 18 
3단 
3 x 1 = 3 
3 x 2 = 4 
3 x 3 = 9 
3 x 4 = 12 
3 x 5 = 15 
3 x 6 = 18 
3 x 7 = 21 
3 x 8 = 24 
3 x 9 = 27 
...
...
...

▷ Gugudan2.java 
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

for dan in range(1, 19):
    print()
    print(str(dan) + ' 단')
    
    for i in range(1, 10):
        print(str(dan) + ' × ' + str(i) + ' = ' + str(dan * i))
     

-------------------------------------------------------------------------------------

 

 

 

[과제 1] 1부터 100까지의 합을 구하세요.

[실행 화면]

5050
▷ For3.py
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

tot = 0
for i in range(1, 101):
    tot = tot + i 

print('1부터 100까지의 합: ' + str(tot))
     

-------------------------------------------------------------------------------------
 

 

[과제 2] 1부터 100까지의 짝수의 합과 홀수의 합을 구하세요.


[실행 화면]
짝수의 합: 2550
홀수의 합: 2500
▷ For4.py
-------------------------------------------------------------------------------------
# -*- coding: utf-8 -*-

even = 0
odd = 0

for i in range(1, 101):
    if (i % 2 == 0):
        even = even + i
    else:
        odd = odd + i    

print('짝수의 합: '  + str(even))
print('홀수의 합: '  + str(odd))


-------------------------------------------------------------------------------------
 

728x90
반응형

'빅데이터 프로그래밍 > Python' 카테고리의 다른 글

[Python] 09. 모듈과 패키지의 사용, import의 사용, Template  (0) 2017.08.02
[Python] 08. 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값, 디버깅  (0) 2017.08.02
[Python] 06. 제어문 - 분기문(if) - 다양한 if문, if문 실습, Template  (2) 2017.08.02
[Python] 05. 시퀀스 자료형 리스트의 실습, 리스트 선언, 리스트 연결, 리스트 크기, 멤버 체크, 문자열 포맷팅, Tuple, Dictionary의 선언  (0) 2017.08.02
[Python] 04. 시퀀스, 자료형 문자열의 실습, 문자열 선언, 슬라이싱, 연결, 반복, 문자열의 크기, 멤버체크, 문자열 포맷팅  (0) 2017.08.02
'빅데이터 프로그래밍/Python' 카테고리의 다른 글
  • [Python] 09. 모듈과 패키지의 사용, import의 사용, Template
  • [Python] 08. 함수 다루기, 함수의 인자, 지역 변수와 전역 변수, 리턴값, 디버깅
  • [Python] 06. 제어문 - 분기문(if) - 다양한 if문, if문 실습, Template
  • [Python] 05. 시퀀스 자료형 리스트의 실습, 리스트 선언, 리스트 연결, 리스트 크기, 멤버 체크, 문자열 포맷팅, Tuple, Dictionary의 선언
밍글링글링
밍글링글링
mingling - 밍글링, 밍글밍글링. 코드와 어우러지다. IT/ 프로그래밍/소스
    반응형
    250x250
  • 밍글링글링
    mingling
    밍글링글링
  • 전체
    오늘
    어제
    • 밍글링글링 (407) N
      • Flutter (2)
      • 일상생활 (8)
        • 리뷰 (1)
        • 생활정보 (4)
        • 맛집 (0)
        • 여행 (0)
        • 모든정보 (3)
      • JAVA (126)
        • 개념 (6)
        • 예제 (115)
        • Exception (2)
      • C (1)
        • C (1)
        • C++ (0)
        • C# (0)
      • JS (29)
        • JavaScript (18)
        • JQuery (5)
        • AJax (0)
        • NODE.JS (6)
        • Angular.JS 2.0 (0)
      • WEB (87)
        • HTML (6)
        • CSS (61)
        • JSP (20)
        • JSTL (0)
      • FrameWork (8)
        • Spring (8)
        • BootStrap (0)
        • MyBATIS (0)
        • JUnit (0)
      • 외부 라이브러리 (5)
      • 공유 소스 관리 (5)
        • Git (5)
        • SVN (0)
      • 빅데이터 프로그래밍 (37)
        • Python (37)
        • R Programming (0)
      • DB (7)
        • ORACLE (0)
        • MySql (6)
      • Development Tools (7)
        • StarUML (0)
        • eXERD (0)
        • Eclipse (4)
      • SKILL (6)
        • Migration (0)
        • Security (6)
      • MicroSoft (0)
        • Excel (0)
        • Word (0)
      • Android (0)
      • Server (21)
        • Ubuntu (5)
        • Linux (15)
      • IOS (0)
      • XML (0)
      • 미디어 (0)
      • 공지사항 (3)
      • NETWORK (1)
      • 게임 (4)
        • 피파 (1)
        • 리니지M (0)
        • 배틀그라운드 (1)
        • 듀랑고 (2)
      • 세상 이슈 (6)
      • 일렉트론 (0)
      • 대회 소식 (4)
      • 업무 (2)
      • Express, Vue (6)
      • docker (11)
      • svelte (3)
      • 블록체인 (1)
      • IT (10) N
      • Rust (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    티스토리 자동화
    Extension Bisect
    rust linux
    자바 exception
    Java Array
    자바 객체 지향
    jsp parameter
    API 설계
    ubuntu
    SSL 인증서
    css perspective
    ssl 인증서 발급
    자바 배열
    vscode
    css table
    docker
    러스트
    vue 설치
    자바 생성자
    spring java
    에디터 팁
    오류
    css block
    AI 코딩 에이전트
    servlet class
    svelte
    자바 클래스
    프런트엔드
    클론코딩
    nginx ssl 적용
    VS Code 팁
    css float
    React Compiler
    css list
    lang rust
    css tb
    jsp include
    Rust lang
    nginx ssl 설정
    css transition
    gitlab 설치
    vue cli
    Node
    proxy pass
    nginx
    브라우저 자동화
    mysql db
    리눅스 설치
    자바 for문
    java casting
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
밍글링글링
[Python] 07. 제어문 - 반복문(while, for문), for 문 실습
상단으로

티스토리툴바