본문 바로가기
방통대/파이썬

5-2 순차 구조

by 꿈꾸는 몽나 2024. 3. 21.
728x90

 

순차 구조

: 실행의 흐름을 주어지는 명령의 위치적 흐름에 따라 수행하는 구조

-> 명령 라인 위에서 아래로 흐르는 가장 직관적인 구조

-> 일단 첫 단계를 시작하면 마지막 단계까지 수행

 

 

 

삼각형 출력하기

print("*")
print("***")
print("*****")
print("*******")

 

출력 :

// 순차 구조에 따라 첫번째 라인부터 아래 라인까지 하나하나 차근차근 출력이 이루어짐.

 

 

print("      *")
print("    ***")
print("  *****")
print("*******")

 

출력 :

// 공백도 입력한 그대로 출력됨.

 

 

 

rad = input("반지름의 값을 입력하세요: ")

 

출력 :

// 30을 입력하면 rad라는 변수에 30이 저장된다.

 

 

 

원뿔 계산 프로그램

-> 사용자로부터 반지름과 높이를 입력받고 계산

 

-사용자 입력

* input : 사용자로부터 데이터를 입력받는 함수

-> 입력 데이터를 문자 데이터 타입으로 반환

-> 함수의 파라미터는 입력 안내문의 목적으로 사용

rad = input()

 

 

-원뿔계산 코드

#반지름, 높이 값 할당
rad = input("반지름 값을 입력하세요: ")
hei = input("높이 값을 입력하세요: ")
#부피 출력
print(1 / 3 * 3.14 * rad ** 2 * hei)
#겉넓이 출력
print(3.14 * rad ** 2 + 3.14 * rad * hei)

 

출력 - 사용자 입력)

 

출력 - 계산)

// TypeError: unsupported operand type(s) for ** or pow() : 'str' and 'int'

 

 

*프로그래밍 에러

-> 설계 미숙, 결함 또는 문법 오류로 프로그램이 의도한 대로 결과를 생성하지 못하는 문제

-구문 오류 : 문법 체계에 적합하지 않는 명령문 입력시 발생

ex) 괄호를 닫지 않는 등의 문법적 요류

-실행 오류 : 논리적으로 실행 불가능한 명령문 작성 시 발생

ex) 5/0 등의 값을 처리할 수 없는 문제

-의미 오류 : 의미적으로 잘못 해석되는 명령문 작성 시 발생

ex) 결과물이 원하는 값이 아닌 경우

 

// 위의 TypeError는 실행오류이다.

// input 함수는 사용가자 입력하는 모든 데이터를 문자로 변환하기 때문에 발생하는 오류

 

 

-데이터 타입 변환

input 함수를 통해 정수 30 입력 -> 변수 rad에 들어가는 변수값은 (숫자가 아닌) 문자 형태 30.

-> 정수 30으로 바꿔줘야 함.

 

*데이터 타입을 다른 타입으로 전환

-> 문자열 타입으로 변환: str 함수

-> 정수 타입으로 변환: int 함수

-> 소수 타입으로 변환: float 함수

 

 

코드 입력:

#반지름, 높이 값 할당
rad = int(input("반지름 값을 입력하세요: "))
hei = int(input("높이 값을 입력하세요: "))
#부피 출력
print(1 / 3 * 3.14 * rad ** 2 * hei)
#겉넓이 출력
print(3.14 * rad ** 2 + 3.14 * rad * hei)

 

 

출력:

 

 

 

 

*print 함수의 확장

: 여러 개의 데이터를 단일 함수로 출력 가능

-> 콤마로 파라미터를 구분하여 입력

print("부피의 값은 ", 1 / 3 * 3.14 * rad ** 2 * hei, "입니다.")

 

출력:

 

-> 데이터 사이에 공백(기본값)이 자동으로 추가

 

-> sep 옵션을 변경하여 공백 변경 가능

print("부피의 값은 ", 1 / 3 * 3.14 * rad ** 2 * hei, "입니다.", sep="")

 

 

 

출력:

 

728x90