웹_프론트_백엔드/단과

[단과_Python] 2020.01.14

shine94 2020. 1. 15. 00:02

1. lec02_var_data_type.py

# -*- coding: utf-8 -*-
#리터럴 literal (=상수, 값 그자체)
#b는 변수, 1은 객체, b는 1이라는 객체를 가리키는 변수
b=1 #1이 리터럴임

#실수
#동적바인딩이되므로 값을 대입하는 순간 타입이 결정되며 여러가지 타입의 테이터를 저장할 수 있다
a=10.1
print(a, type(a))
print(type(10.1))

#문자열
a='hello'
print(a, type(a))
print(type('hello'))

#bool
a=True
print(a, type(a))
print(type(True))

 

2. lec03_numeric_op.py

# -*- coding: utf-8 -*-
#산술연산, 자동형변환, 라인유지
#산술연산자 : +, -, *, /(나누기), //(몫), %(나머지), **(지수승)
#연산을 하는 경우 자동으로 형변환이 일어난다.
#다른 타입의 데이터랑 연산을 할 수 없다.
#정수끼리 : 정수
#실수끼리 : 실수
#정수와 실수 : 실수  (왜? 정수를 실수로 바꾼 후(자동형변환) 연산이 일어남)

#정수끼리 연산
a=8
b=3
print(a+b)
print(a-b)
print(a*b)
print(a/b)  #결과가 실수가 나옴
print(a//b) #몫
print(a%b) #나머지
print(a**b)

#실수끼리 연산
a=5.3
b=1.3
print(a+b)
print(a-b)
print(a*b)
print(a/b)  #결과가 실수가 나옴
print(a//b) #몫
print(a%b) #나머지
print(a**b) 

#정수와 실수 연산. 자동형변환이 일어남
a=5
b=1.3
print(a+b)
print(a-b)
print(a*b)
print(a/b)  #결과가 실수가 나옴
print(a//b) #몫
print(a%b) #나머지
print(a**b)

#대입연산 : =, +=, -=, *=, /=
total=1
total += 10  #total=total + 10
print(total)

#연산자 우선순위: ()를 사용해서 명확하게 나타낼 것
print(2+3*4)
print(2+(3*4))
print((2+3)*4)

#여러 줄에 걸쳐서 명령문
a = 1+3+ \
    5+7
print(a)

 

3. lec04_bit.py

# -*- coding: utf-8 -*-
#진법 bit 연산 알아보기
#컴퓨터 내부적으로 숫자, 문자는 bit로 표시
#진법 : 파이썬에서 이진수0b, 8진수0o, 16진수0x를 표기

#1byte = 8bit. 4bit씩 끊어서 표기
#이진수 표기
print(0b1111)  #15
print(0b0010)

#8진수 표기
print(0o10)

#16진수(10=a, 11=b, 12=c, 13=d, 14=e, 15=f) 표기
print(0x0f)
print(0xff)

#정수를 표현하는 방법
print(bin(10))  #이진수로 표현
print(oct(10))  #8진수로 표현
print(hex(10))  #16진수로 표현

#bit연산 : and(&), or(|), xor(^)
a=0b1000
b=0b1111
print(a&b, bin(a&b))
print(a|b, bin(a|b))
print(a^b, bin(a^b))

#bit연산 shift
print(1<<10)
#1Kbyte = 1024byte = 2의 10승
#1Mbyte = 1024Kbyte

 

4. lec05_casting.py

# -*- coding: utf-8 -*-
#형변환 = casting 캐스팅
#자동형변환(타입이 다른 두 가지의 데이터가 연산시 발생)
#강제형변환
# int() : 정수형으로 변환
# float() : 실수형으로 변환
# str() : 문자열로 변환

#정수형으로 변환
print(int(98.9)) #float -> int
print(int('98')) #str -> int
# print(int('98.9')) #str -> int #Error! 정수형식이어야 함
print(int('+98')) #str -> int 부호는 문제 없음

#실수형으로 변환
print(float(10)) #int -> float
print(float('10.3')) #str -> float
print(float('10')) #str -> float #Error 안남

#문자열로 변환
print(str(1000), type(str(1000))) #int -> str
print(str(10.32), type(str(10.32))) #float -> str


5. lec06_input.py

# -*- coding: utf-8 -*-
#사용자로부터 입력받기
#input() 사용
#무조건 str으로 들어오므로 정수나 실수로 사용하기 위해서는 강제형변환이 필요

name = input('이름을 입력하세요    > ')
print(name+'이 입력되었습니다.')
print(type(name))

#정수를 입력받을 때 int로 강제형변환이 필요하다
score = int(input('정수를 입력하세요     > '))
print(score, '가 입력되었습니다.')
score +=100
print(score)

#Quiz : 두 개의 정수를 입력받아 더하는 프로그램을 작성하시오
score1 = int(input('첫 번째 정수를 입력하세요     > '))
print(score1, '가 입력되었습니다.')
score2 = int(input('두 번째 정수를 입력하세요     > '))
print(score2, '가 입력되었습니다.')
print('두 수를 모두 더한 값은 ', score1 + score2, ' 입니다.')

#입력값을 변수 2개에 한 번에 저장하기
#input()의 결과가 str이므로 str에서 제공하는 메서드를 사용할 수 있다
#split(): space로 구분(,은 안됨), String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눔
a, b = input('정수 두 개를 입력하세요: ').split()
print('두개의 정수가 입력되었습니다.', a, b)
print(type(a), type(b))

#Quiz: 위의 split()을 사용하여 합을 구하시오
a, b = input('정수 두 개를 입력하세요: ').split()
print('두개의 정수가 입력되었습니다.', a, b)
print(int(a) + int(b))

'웹_프론트_백엔드 > 단과' 카테고리의 다른 글

[단과_Python] 2020.01.15  (0) 2020.01.16
[단과_JAVA] 2020.01.15  (0) 2020.01.16
[단과_JAVA] 2020.01.14  (0) 2020.01.14
[단과_Python] 2020.01.13  (0) 2020.01.14
[단과_JAVA] 2020.01.13  (0) 2020.01.13