컴공생의 공부LOG

[프로그래밍 기초] 변수와 함수 본문

학교 수업/1학년 1학기

[프로그래밍 기초] 변수와 함수

푸우키 2024. 11. 26. 12:51

변수

변수(Variable)

-프로그램 실행 중에 생기는 계산 값을 추후 계산과정에서 두고두고 사용하기 위해서 지어두는 이름

 

네임스페이스 (Namespace)

 

지정문(Assignment)

-<변수> = <식>

ex) x = 3 + 4

 

Python 동적 바인딩 Dynamic Binding
C 정적 바인딩 Static Binding
Java

 

변수 이름 짓기

아래 문자들의 조합
소문자 a-z
대문자 A-Z
숫자 0-9
밑줄문자 _ (언더바)
예외 : 숫자로 시작할 수 없음

1. 값의 특징을 잘 대변해주는 명사 또는 명사구를 고를 것

2. 나름의 작명 규칙을 정하고 일관성을 유지할 것 

3. 관습을 따를 것 (일반 변수는 소문자로 시작)

*프로그램의 가독성, 파이썬 코딩 컨벤션 Python Coding Convention

 

원의 면적 구하기 

 

표준 라이브러리

math

 

통합개발환경 (IDE, Integrated Development Environment)

-IDLE의 편집기 활용

-프로그램을 파일에 저장하여 한꺼번에 실행

 

표준 입력 (Standard Input)

x = input()

 

반올림

round()

 

Q1. 원의 면적 계산 프로그램의 계산 결과를 소수 첫째 자리 아래에서 반올림하여 프린트하도록 수정하자. 즉, 실행창에서 3을 입력하여 실행하면, 다음과 같이 실행창에 출력해야 한다.

The area of a circle with radius 3.0 is 28.3

 

 

Q2. 동전 지갑에 들어있는 동전의 총액을 계산하는 프로그램을 만들자. 액면가가 큰 동전부터 순서대로 보유 동전의 개수를 입력받도록 한다. 이 동전합산 서비스를 종료하면 실행 결과가 다음과 같은 형식으로 실행창에 남아 있어야 한다.

여기서 둘째 줄부터 다섯째 줄까지 있는 4, 2, 3, 4는 모두 키보드 입력이고, 나머지는 프로그램이 프린트한 것이다. 띄어쓰기도 똑같이 프린트하도록 해야 함에 주의하자.

 

예약어(Keywords, Reserved Words)

 

주석 (Comments)

 

Q3. 온도를 표시하는 방식은 섭씨와 화씨가 있다. 우리는 섭씨를 쓰지만, 미국과 같이 화씨를 쓰는 나라도 있다. 화씨온도는 우리에게 익숙하지 않으므로 섭씨로 몇 도인지 환산해주면 좋겠다. 다음은 화씨온도를 섭씨로 바꾸는 공식이다.

화씨온도를 정수로 키보드 입력받아서, 섭씨로 변환하여 프린트하는 프로그램을 작성하자. 출력 형식은 아래와 동일한 형식이어야 한다.

여기서 둘째 줄의 끝에 있는 67은 키보드 입력이고, 나머지는 프로그램이 프린트한 것이다. 특히 셋째 줄의 섭씨온도는 소수점 둘째 자리에서 반올림하여 첫째 자리 수까지만 표시해야 한다.

 

 

함수

함수(Function)

 

내장 함수 (Built-in Function)

ex) print(), input(), int(), float(), str(), round()

 

람다 요약 (Lambda Abstraction)

 

람다 식

lambda <변수> : <식>

 

함수 정의 (Function Definition)

def <함수이름> (<변수>, <변수>, ..., <변수>):

      <몸체>

 

함수 호출 (Function Call)

<함수이름> (<식>, <식>, ..., <식>)

 

프로시저 (Procedure)

-> return 문이 없는 함수

 

Q4. Q2에서 작성한 코드를 함수로 만들어 개선해 보자. 키보드 입력 대신 각 동전의 개수를 인수로 받아서 동전의 총액을 계산하여 리턴해 주는 함수 coin_in_total을 다음 틀에 맞추어 작성하자.

 

이 함수를 완성하여 잘 작동하는지 확인한 다음, Q2에서 작성한 코드를 이 함수를 호출하는 방식으로 재작성하자.

 

Q5. Q3에서 작성한 코드를 함수로 만들어 개선해 보자. 화씨온도를 인수로 받아서 섭씨온도로 변환해주는 함수 fahrenheit2celsius를 다음 틀에 맞추어 작성하자.

 

화씨온도를 섭씨온도로 변환하는 공식은 다음과 같다.

 

Q6. 9의 보수는 다음 표에서 관찰할 수 있듯이 수의 각 자리 수에서 9와의 차이로 얻는 수이다.

 

자연수 n의 자리 수를 k라 하면, n에 대한 9의 보수는 다음 공식으로 구할 수 있다.

 

자연수를 인수로 받아서 그 수의 9의 보수를 계산하여 리턴해 주는 함수 complement_nine을 다음 코드 틀에 맞추어 작성하자. 인수는 항상 자연수로 제공된다고 가정한다.

 

코딩 가이드

자연수 인수 n의 자리수 k를 알아야 한다. 그런데 문자열의 길이는 내장 함수 len으로 다음과 같이 구할 수 있다.

len을 활용하여 n의 자리 수를 어떻게 구할지 고민해 보자.