Gachon CS50 Python Basics I Basic Operators 가천대학교 | 산업경영공학과 최성철 교수.

Slides:



Advertisements
Similar presentations
Ⅰ. 연산자 Ⅱ. 제어 구조. 연산자 : 할당 연산자 - 사용자가 정의한 변수에 임의의 값을 저장하는 기능 strvar = strVar1+ “ Hello ”
Advertisements

제철고 프로그래밍언어 2015 가을학기 강의 #2 Python 변수, 입출력, 배열 박성우 POSTECH 컴퓨터공학과 2015 년 9 월 30 일.
파이썬 (Python). 1 일 : 파이썬 프로그래밍 기초 2 일 : 객체, 문자열 3 일 : 문자인코딩, 정규표현식, 옛한글 4 일 : 파일 입출력 5 일 : 함수와 모듈 6 일 : 원시 말뭉치 다루기 실습 7 일 : 주석 말뭉치 다루기 실습 8 일 : 웹 데이터로.
Python Ch.06 RaspberryPi Sejin Oh. Raspberry Pi Python  IDLE(Integrated Development Environment)  라즈베리 파이 배포본들은 일반적으로 파이썬과 파이썬 3 의 IDLE 파 이썬 개발 도구를.
변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
Chapter 04 컴퓨터에서 데이터 표현. 04 컴퓨터에서 데이터 표현 2 인코딩 (encoding) – 현실세계의 정보를 컴퓨터 내부에서 처리할 수 있는 이진수로 변환하는 방법 1. 컴퓨터 속에서 데이터 표현 원리 0 - 아빠 1 - 엄마 00 - 아빠 01 - 엄마.
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
KUMHO SOFTWARE DEVELOPMENT 이 름 : 정홍도 ( 과장 ) 팀 명 : 개발사업팀 일 자 : 과목 명.
재료수치해석 HW # 박재혁.
Part 03 상수, 변수, 자료형 ©우균, 창병모 © 우균, 창병모.
Chapter 03. 데이터의 표현과 연산(Ⅰ).
Lecture 5 C의 기초적인 값(primitive value)의 컴퓨터에서의 표현 문자, 정수, 실수, 참/거짓
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
3. printf()와 데이터 형식.
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
Chapter 04 C 연산자의 이해.
Lesson 6. 형변환.
2장. 데이터의 표현 Lecture #2.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Part 05 순수한 연산자 ©우균, 창병모 © 우균, 창병모.
23장. 구조체와 사용자 정의 자료형 2.
6장. printf와 scanf 함수에 대한 고찰
2007 1학기 11 프로젝트 기초 실습.
[INA470] Java Programming Youn-Hee Han
Tail-recursive Function, High-order Function
공학컴퓨터프로그래밍 Python 염익준 교수.
C#.
3장. 데이터의 표현과 컴퓨터 연산 다루는 내용 진법과 진법 변환 연산과 보수 데이터의 표현 산술 연산 논리 연산.
13. 연산자 오버로딩.
JA A V W. 03.
어서와 C언어는 처음이지 제14장.
Lesson 4. 수식과 연산자.
3장 상수 변수 기본 자료형 키워드와 식별자 상수와 변수 기본 자료형 형변환 자료형의 재정의.
상수와 기본 자료형.
3장 변수와 연산자 3.1 변수 변수의 선언 데이터 형 변수의 선언 방법
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
에어 조건문.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
2장. 변수와 타입.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
제3장 연산자(Operators) 문봉근.
Chapter 02. 자바 기본 문법.
8주차: Strings, Arrays and Pointers
1. 2진 시스템.
3강. 컴퓨터와의 기본적인 소통수단 - I 연산자란? 컴퓨터와 소통하기 위한 다양한 방법들
CHAPTER 02. 정보의 표현 정보 체계_컴퓨터 내부의 정보 표현과 정보 처리
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
정보의 표현 정보 체계_컴퓨터 내부의 정보 표현과 정보 처리
제3장 함수와 배열수식 전진환
제5장 변수, 연산자, 수식.
Chapter08 JavaScript 시작하기
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
2장 PHP 기초 PHP의 시작과 끝을 이해한다. 주석문에 대하여 이해한다. echo 문을 이용하여 화면에 출력하
Chapter08 JavaScript 시작하기
복습.
Chapter 02 C# 기본 01 기본 용어 06 증감 연산자 02 출력 07 자료형 검사
실습과제 (변수와 자료형, ) 1. 다음 작업 (가), (나), (다)를 수행하는 프로그램 작성
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
Visual Basic .NET 기초문법.
Pointers summary.
6 객체.
제 16 강 변수의 선언, 배정, 수식 shcho.pe.kr.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
3장. 데이터의 표현과 컴퓨터 연산 다루는 내용 진법과 진법 변환 연산과 보수 데이터의 표현 산술 연산 논리 연산.
Presentation transcript:

Gachon CS50 Python Basics I Basic Operators 가천대학교 | 산업경영공학과 최성철 교수

Basic Operators (간단한 연산) 복잡한 프로그램을 작성하기 앞서 간단한 사칙연산과 문자열 처리 등의 기본을 배워야 함 이를 위해 본 장에서는 아래 내용을 습득 1) 기본 자료형 (Data Types) 2) 연산자와 피연산자 3) 데이터 형변환 이를 통해 간단한 프로그램 작성의 기초를 익힘

기본 자료형 (Fundamental Data Types) 유형 설명 예시 선언 형태 수치자료형 정수형 Integer 양/음의 정수 1,2,3,100, -9 data = 1 실수형 Float 소수점이 포함된 실수 10.2, -9.3, 9.0 data = 9.0 문자형(문자형) String 따옴표 (' / ")에 들어가 있는 문자형 abc, a20abc data = 'abc' 논리/불린 자료형 Boolean 참 또는 거짓 True, False data = True

자료형 사용 예시 >>> a = 1 # Integer >>> b = 1 # Integer >>> print (a, b) 1 1 >>> a = 1.5 # Float >>> b = 3.5 # Float 1.5 3.5 >>> a = "ABC" # String >>> b = "101010" # String ABC 101010 >>> a = True # Boolean 대소문자 구분 >>> b = False # Boolean 대소문자 구분 True False Python Shell

연산자(Operator)와 피연산자(operand) + , - , * , / 같은 기호들을 연산자라고 칭함 연산자에 의해 계산이 되는 숫자들은 피연산자라 칭함 “3 + 2” 에서 3과 2는 피연산자 , +는 연산자임 파이썬에서 연산자의 역할은 수학에서 연산자와 동일 연산의 순서는 수학에서 연산 순서와 같음 지수 연산, 괄호 연산, 좌측에서 우측순으로 연산, 곱셈 과 나눗셈을 먼저 연산하고 덧셈과 뺄셈으로 연산 문자간에도 + 연산이 가능함

제곱승과 나머지 구하기 “**"는 제곱승 계산 연산자 “%"는 나머지를 구하는 연산자 >>> print (3 * 3 * 3 * 3 * 3) # 3을 다섯번 곱함 243 >>> print (3 ** 5) # 3의 5승 Python Shell “%"는 나머지를 구하는 연산자 >>> print (7 / 2) # 7 나누기 2 (정수형 계산) 3.5 >>> print (7 % 2) # 7 나누기 2의 나머지는 1 Python Shell

증가 또는 감소 연산 a += 1 는 a = a +1 과 같은 의미로 증가연산 (-= 동일) >>> a = a + 1 # a 에 1를 더한 후 그 값을 a에 할당 >>> print (a) # a 출력 2 >>> a += 1 # a 증가 연산 3 >>> a = a – 1 # a 에 1를 뺀 후 그 값을 a에 할당 >>> a -= 1 # a 감소 연산 1 Python Shell

증가 또는 감소 연산 a = a +1 의 의미는? 만약 a = 4 일 때 a = 4 + 1 로 a에 다시 5가 할당(assign)됨 즉 좌변에 a는 할당 받는 변수 (variable) 우변에 a는 기존 a의 값(value)

데이터 형변환: 정수형 ↔ 실수형 float()와 int() 함수를 사용하여 데이터의 형변환 가능 >>> a = 10 # a 변수에 정수 데이터 10을 할당 >>> print (a) # a가 정수형으로 출력 10 >>> a = float(10) # a를 실수형으로 변환 / 정수형은 int() >>> print (a) # a를 출력 10.0 # a가 실수형으로 출력됨 >>> b = 3 # b 에 정수 데이터 3 할당 >>> print a / b # 실수형으로 a 나누기 b를 출력 3.33333333333 # 실수형 결과값 출력 Python Shell 10.3과 10.7 정수형으로 형변환후 덧셈하면 결과값은?

데이터 형변환: 정수형 ↔ 실수형 10.3과 10.7 정수형으로 형변환후 덧셈하면 결과값은? >>> a = 10.7 >>> b = 10.3 >>> a= int(a) # a를 정수형으로 형변환후 a에 할당 >>> b = int (b) # b를 정수형으로 형변환후 b에 할당 >>> print (a+b) # 정수형 a와 b의 합을 출력 20 >>> print (a) # 정수형 a값 출력 10 >>> print (b) # 정수형 b값 출력 Python Shell 실수형으로 정수형으로 형변환시 소수점 이하 내림

데이터 형변환: 숫자 ↔ 문자열 문자열로 선언된 값도 int() , float()함수로 형변환 가능 >>> a = '76.3' # a에 문자열 76.3을 할당, ''은 문자열을 의미 >>> b = float(a) # a를 실수형으로 형변환후 b에 할당 >>> print (a) # a값 출력 76.3 >>> print (b) # b 값 출력 >>> print (a + b) # a와 b를 더함 그러나 문자열과 숫자열의 Traceback (most recent call last): # 덧셈이 불가능하여 에러발생 File "<stdin>", line 1, in <module> TypeError: cannot concatenate 'str' and 'float' objects Python Shell a와 b를 실수형으로 덧셈하고, 문자열로 연결하려면?

데이터 형변환: 숫자 ↔ 문자열 a와 b를 실수형으로 덧셈하고, 문자열로 연결하려면? >>> a = float(a) # a를 실수형으로 형변환 후 a에 할당 >>> b = a # 실수형 a 값을 b에 할당 >>> print (a + b) # 두 실수형 더한후 출력 152.6 >>> a = str(a) # 실수형 a 값 문자열로 변환후 a 할당 >>> b = str(b) # 실수형 b 값을 문자열로 변환후 b 할당 >>> print (a + b) # 두 값을 더한 후 출력 76.376.3 # 문자열간 덧셈은 문자열간 단순 연결 Python Shell str() 함수는 숫자 값을 문자 값으로 변환함 데이터간의 형변환을 casting 이라고 함

데이터 형 확인하기 type() 함수는 변수의 데이터형을 확인하는 함수 >>> a=int(10.3) # a는 정수형으로 10.3을 할당 >>> b=float(10.3) # b는 실수형으로 10.3을 할당 >>> c=str(10.3) # c는 문자열로으로 10.3을 할당 >>> type(a) # a의 타입을 출력 <class 'int'> >>> type(b) # b의 타입을 출력 <class 'float'> >>> type(c) # c의 타입을 출력 <class 'str'> Python Shell

컴퓨터의 반올림 오차 아래와 같이 나오는 이유는 무엇일까? 컴퓨터의 모든 값은 이진수로 변환되어 메모리에 저장 >>> c = 38.8 # c에 실수형 38.8 할당 >>> print c # c 출력 38.8 >>> c # c에 있는 값은? 38.799999999999997 # 응? Python Shell 2.7 Only 컴퓨터의 모든 값은 이진수로 변환되어 메모리에 저장 Python 2.7에서만 나오는 숫자 3.8에선 정상으로 나옴

컴퓨터의 반올림 오차 0.1를 이진수 변환하여라 0.00011001100110011……(2) 0.1 X 2 = 0.2 → 0 0.2 X 2 = 0.4 → 0 0.4 X 2 = 0.8 → 0 0.8 X 2 = 1.6 → 1 0.6 X 2 = 1.2 → 1 0.2 X 2 = 0.4 → 0 ……… 0.00011001100110011……(2) 단순한 실수도 이진수로 변환하면 무한소수가 됨 반올림오차는 충분히 작아 반올림을 하여 일반적으로 문제가 되지 않음

[알아두면 상식] 컴퓨터는 왜 이진수를 쓰나? 컴퓨터는 실리콘이라는 재료로 만든 반도체로 구성됨 반도체는 특정 자극을 줬을 때 전기를 통할 수 있게 하는 물질 Source : http://samsungsemiconstory.com/1 도체와 부도체에 반해 반도체는 전류의 흐름의 제어가 가능 전류가 흐를때 1, 흐르지 않을 때 0으로만 숫자를 표현할 수 있음 이진수 한자리를 bit라 칭하고 8개의 bit는 1byte