제어구조의 이해
구조적 프로그래밍 패러다임
- 절차적 프로그래밍 패러다임의 하위개념
- goto문을 사용하지 않고 프로그램을 3가지 제어만으로 구성하는 프로그래밍 패러다임
→ 순차 (sequence) 구조
→ 선택(selection)구조
→ 반복(interation) 구조
- 프로그램 실행흐름이 간결하고 작은 규모로 조직화하기 쉬움
순차구조
설계 > 생산 > 조립
- 실행의 흐름을 주어지는 명령의 위치적 흐름에따라 수행하는 구조
→ 명령 라인 위에서 아래로 흐르는 가장 직관적인 구조
선택구조
검사 > 정상 ? > 배송
> 불량 ? > 재생
- 특정 영역 내의 명령문에 대한 실행 여부를 프로그램 실행 과정 중 결정하는 구조
→ 실행 여부는 조건에 따라 결정
반복구조
설계 > 배송 > 설계 > 배송 > 설계 > 배송 > ...
- 특정 영역의 명력문을 여러번 재실행하는 구조
→ 반복 횟수를 조건에 따라 결정
우리주변에서의 세가지 구조
순차구조 - 요리, 공부
선택구조 - 날씨에 따라 맞는 옷입기 선택
반복구조 - 숫자세기 ,밥먹기
순차구조
사용자 입력
- input()함수 : 사용자로부터 데이터를 입력받는 함수
→ 입력 데이터를 문자 데이터 타입으로 반환
→ 함수의 파라미터는 입력 안내문의 목적으로 사용
rad = input("변수 값을 입력해주세요 : ")
프로그래밍 에러
- 설계미숙, 결함 또는 문법 오류로 프로그램이 의도한 대로 결과를 생성하지 못하는 문제
→ 구문오류 (syntax error) : 문법 체계에 적합하지 않는 명령문 입력 시 발생
→ 실행 오류(runtime error) : 논리적으로 실행 불가능한 명령문 작성 시 발생
→ 의미 오류(sementic error) : 의미적으로 잘못해석되는 명령문 작성 시 발생
데이터 타입 변환
- 데이터 타입을 다른 타입으로 전환
→ 문자열 타입으로 변환 : str 함수
→ 정수 타입으로 변환 : int 함수
→ 소수 타입으로 변환 : float 함수
# 값 30 입력 > 문자열로 인식
rad = input("반지름을 입력하세요")
# 문자열 30 을 숫자 30으로 int 함수를 이용해 데이터 타입 변환
rad = int(rad)
# 함수의 중첩
rad = int(input("반지름을 입력하세요"))
print 함수의 확장
- 여러 개의 데이터를 단일 함수로 출력 가능
→ 콤마(,) 로 파라미터를 구분하여 입력
→ 데이터 사이에 공백(기본값)이 자동으로 추가
→ sep 옵션을 변경하여 공백 변경 가능
'Python' 카테고리의 다른 글
[Python] Anaconda/Miniconda 설치 및 가상화 설정 (5) | 2024.10.28 |
---|---|
파이썬으로 정적 페이지 웹 크롤링 하기 - 1 (45) | 2024.05.14 |
[Python] 선택구조 (3) | 2024.03.25 |
[Python] 프로그래밍 기초 (21) | 2024.03.21 |