Blair  - Soul Eater 3. 데이터 분석을 위한 핵심 Tool Python(김상모 강사님)_01

• 패스트캠퍼스 데이터분석 부트캠프 12기

3. 데이터 분석을 위한 핵심 Tool Python(김상모 강사님)_01

oujin 2024. 1. 3. 14:04
728x90

▶ 코드를 작성할 때 주석처리를 하는 것이 중요하다.


▶ 진법:

0부터 n개의 숫자를 사용해서 수를 표현하는 방법

▶ 2진법, 10진법, 16진법

▶ 2진수 -> 16진수 변수

 

▶ 2진법: 0과 1 두개의 숫자 사용, 0b

▶ 10진법: 0~9까지의 10개의 숫자 사용,  

▶ 16진법: 0~9의 10개의 숫자와 A~F까지의 6개의 문자 사용, 0x 붙임

10 :A / 11 :B / 12 :C / 13 :D / 14 :E / 15 :F


▶ 컴퓨터 프로그램

▶ 컴퓨터에 일을 시키려면 인간이 컴퓨터에게 자세한 명령어 (instruction)들의 리스트를 줘야함

▶ 프로그램: 컴퓨터가 수행할 명령어를 적어 놓은 문서 (=작업지시서)

 

▶ 프로그래머란

컴퓨터 프로그램의 논리나 알고리즘을 설계하고, 원시코드를 작성하여 검증을 진행하는 사람

컴퓨터 프로그래밍을 제작하고 컴퓨터 소프트웨어를 개발하는 사람을 칭하는 직업

▶ 단순 코더가 아닌 프로젝트를 이끄는 분석/설계자나 개발 리더가 될지 프로그램 개발을 어떻게 하는지에 대해 달라짐

▶ 프로그래밍 언어의 문법만 외우는 것이 아니라 프로그램 설계를 이해 해야함

 

▶ 저장장치 - 메모리 - CPU 사이의 관계를 알기!


변수의 이름 규칙

1. 의미 있는 이름을 사용 (a 대신에 name, b 대신에 age)

2. 소문자와 대문자는 서로 다르게 취급된다

3. 변수의 이름은 영문자와 숫자, 밑줄(_)로 이루어진다

4. 변수의 이름 중간에 공백이 들어가면 안된다(_로 단어를 구분)

num1=7
num2=3
result = num1+num2

print(num1,"+",num2,"=",result)
result = num1-num2
print(num1,"-",num2,"=",result)
result = num1*num2
print(num1,"*",num2,"=",result)
result = num1/num2
print(num1,"/",num2,"=",result)
nData1 = 7
nData2 = 3
Result = divmod(nData1,nData2)

print(nData1,"/",nData2,"의 몫과 나머지는",Result,"입니다")

ASKII 코드란?

American Standard Code for Information Interchange 의 약자

▶ANSI 라는 미국 표준 협회에서 제정한 문자 표현 방식

우리가 사용하고자 하는 컴퓨터에는 수 많은 문자 들이 있는데 그때 문자를 표현하거나 일부의 특수기호를 표현하자고 제정

▶컴퓨터마자 문자를 표현하는 방식이 전부 다르면 혼선 발생

▶문자 to ASKII : ord() 함수사용

print(ord("A")) -> 65 출력됨

▶ ASKII to 문자 : chr() 함수사용

print(chr(65))


▶ 값 입력받기 :  int(input())

name = input("이름을 입력하시오:")
print(name,"씨, 안녕하세요?")
print("파이썬에 오신 것을 환영합니다.")

num1 = int(input("첫 번째 정수를 입력하시오:"))
num2 = int(input("두 번째 정수를 입력하시오:"))
result = num1 + num2
print(num1,"과",num2,"의 합은", result,"입니다.")
이름을 입력하시오:홍길동
홍길동 씨, 안녕하세요?
파이썬에 오신 것을 환영합니다.
첫 번째 정수를 입력하시오:300
두 번째 정수를 입력하시오:400
300 과 400 의 합은 700 입니다.

 

▶ ,로 구분된 숫자 두개 입력받기 : int(input().split(",")

=입력값을 여러개의 변수에 저장하기

s1,s2=input("두 수를 입력하세요").split(",")
i1 = int(s1)
i2 = int(s2)
print('두 수의 합은 :',i1+i2)

.split() 에서 ()안에 "/" 넣으면 /로 구분된 숫자를 입력해야 하고

() 빈칸으로 두면 기본값으로 스페이스 한칸으로 구분된 숫자를 입력받는다.

두 수를 입력하세요5,6
두 수의 합은 : 11

 

hour, minute, second = input("시간을 입력 하세요").split(":")
print("시 :",hour)
print("분 :",minute)
print("초 :",second)

입력값을 여러개의 변수에 저장해서 각각 출력하기

시 : 12
분 : 35
초 : 24

 

n1,n2 = input("숫자를 두개 입력 하세요").split()
sum = int(n1)+int(n2)
print(sum)

split으로 분리한 숫자 사칙연산 뎃셈하기

각각 int로 바꿔주기

자를 두개 입력 하세요5 6
11

 

 

n1,n2 = map(int,input("숫자 입력").split())
sum= n1+n2
print(sum)

split으로 분리한 숫자 사칙연산 뎃셈하기

map() 함수를 사용해 한번에 int로 바꿔주기

숫자 입력5 6
11

 

▶ 몫과 나머지 한번에 구하기 : divmod(a,b)

nData1 = 7
nData2 = 3
Result = divmod(nData1,nData2)

print(nData1,"/",nData2,"의 몫과 나머지는",Result,"입니다")

 

7 / 3 의 몫과 나머지는 (2, 1) 입니다

 

▶ 출력시 특정 각각 기호 넣어서 출력 : sep=''

=특정기호로 구분, 분

kor, eng , math, sc = map(int, input("국어, 영어, 수학, 과학점수를 ,로 구분하여 입력하세요 ").split(","))
sum = kor +eng +math +sc
print(kor,eng,math,sc,sep='+')
print("총합은",sum,"입니다")
국어, 영어, 수학, 과학점수를 ,로 구분하여 입력하세요 85,90,80,95
85+90+80+95
총합은 350 입니다

 

▶마지막 출력시에만 특정 기호 함 출력 : end=' '

print(1, end='')
print(2, end='')
print(3)
123

 

 

▶ 비교연산자

==: 값이 동일한지 비교 (equal to)
!=: 값이 다른지 비교 (not equal to)
<: 작은지 비교 (less than)
>: 큰지 비교 (greater than)
<=: 작거나 같은지 비교 (less than or equal to)
>=: 크거나 같은지 비교 (greater than or equal to)

 

# x가 0이 아니고 y가 10인 경우에만 print문이 실행됨
if x != 0 and y == 10:
    print("조건이 충족되었습니다.")
    
# x가 0이거나 y가 10인 경우에만 print문이 실행됨
if x == 0 or y == 10:
    print("조건이 충족되었습니다.")

 

 

▶ == , != 과 is , is not 차이

print(1==1.0)
print(1 is 1.0)

==, != 값 자체를 비교

is, is not 은 객체(object)를 비교

True
False

 

 

▶ not and or 순서로 논리 연산사 판단

 

▶ 문자는 null 이 False, 나머지는 True

숫자는 0이 FALSE, 나머지는 True

 

▶ 단락평가: 첫 번째 값만으로 결과가 확실할 때 두 번째 값은 확인(평가)하지 않는 방법

kor = 92
eng = 47
math = 86
sci = 81
print((kor >= 50) and (eng >= 50) and (math >= 50) and (sci >=50))
False

 

 

728x90