일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- git
- 2020년 일정
- Til
- 코드숨
- 함수형 코딩
- 서평
- 정보처리기사
- LeetCode
- jsp
- 필기
- 항해99
- Jackson
- If
- 2020년 제4회 정보처리기사 필기 문제 분석
- 주간회고
- algorithms
- Python
- 책리뷰
- 회고
- 뇌정리
- 알고리즘
- sqldeveloper
- 미니프로젝트
- post
- hackerrank
- java
- 성적프로그램
- 스터디
- 2020년 정보처리기사 4회
- Real MySQL
- Today
- Total
조컴퓨터
200813 OOP 01 - 컴퓨터 기초 및 Python 환경 구축 본문
컴퓨터의 신호체계는 0과 1로 이루어진 이진 코드이다.
사람의 단어와 컴퓨터가 이해할 수 있는 언어는 다르기 때문에 이를 이어주는 프로그래밍 언어가 필요하다.
프로그래밍 언어는 고급 언어와 저급 언어로 구분된다.
① 고급 언어 - Java, Python, C++, R, 델파이 등등
② 저급 언어 - 기계어
이때 고급 언어로 작성된 소스는 컴퓨터가 바로 이해할 수 없기 때무네 컴파일(compile) 과정을 통해서 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어로 변환한 후 컴퓨터가 사용하게 된다.
입력데이터 → 가공 → 출력
위의 과정을 거쳐 화면에 출력된다.
[프로그램(코딩) 기초 문법]
① 변수와 상수
② 연산자
③ 조건문
④ 반복문
⑤ 배열
⑥ 함수
[Python 프로그램 참조사이트]
[명령프롬프트]
바탕화면 하단의 돋보기
→ cmd
>cls (clear screen) 화면소거
>cd.. 상위폴더 이동
>cd. 현재폴더
>e: 드라이브 변경
>dir 목록확인
>cd java0812 폴더변경
>cd python
>cd section0814
>python --version 파이선 설치 및 버전 확인
>python 01_varible.py 파이선 파일 실행
print(123) #숫자형데이터
print("대한민국") #문자형데이터 "", ''
print('서울특별시')
① 변수와 상수
데이터의 형태
- 숫자형(정수, 실수)
- 문자형(문자형, 문자열형)
- 논리형
- 날짜형
- 리스트, 데이터프레임, 딕셔너리, 튜플 등등
print(456) #양의 정수
print(-789) #음의 정수
print(1.2) #실수
print(-3.4)
print("S") #문자형 (character)
print("SKY") #문자열형 (string)
print(True) #논리형, 참
print(False) #논리형, 거짓
print("True") #문자열형, True
데이터(data), 값(value)의 표현
- 상수 constant
- 변수 variable
상수 constant
절대 변하지 않는 고정 불변의 값을 말한다.
print(3)
print(4.5)
print("A")
print("ㄱ")
print(True)
변수 variable
변하는 값을 말한다. 단, 대입(저장)연산자 '='에서 이루어 진다.
a=3
print(a) #변수
print("a") #상수
print('a') #상수
변수명을 작성하는 규칙
변수명에 의미를 부여해서 영문자, 숫자 등을 조합하여 작성한다.
한글 변수명도 가능하지만 되도록 사용하지 않는다.
name="코로나"
kor=95
eng=100
mat=80
myAge=20
flag=True
print(name)
print(kor)
print(eng)
print(mat)
print(myAge)
print(flag)
print(5+3) #8
print(5-3) #2
print(5*3) #15
print(5/3) #1.6666666666666667
a=5
b=3
print(a+b) #8
print(a-b) #2
print(a*b) #15
print(a/b) #1.6666666666666667
total=kor+eng+mat
aver=total/3
print(total) #275
print(aver) #91.66666666666667
출력서식 formatting
UI, 인터페이스
print("SEOUL")
print("\n") #줄 바꿈 (2줄)
print("JEJU")
print("\n\n\n") # (4줄)
print("#\t#") #탭 기능
print("\"") # " 기호
print("\'") # ' 기호
print("\\") # \ 기호
%d 정수
%f 실수
%s 문자열
print("나이:%d" % 25)
print("키:%f" % 178.9)
print("이름:%s" % "손흥민")
*/ 출력값
나이:25
키:178.9
이름:손흥민
/*
print("#%d#" % 123) #123#
print("#%5d#" % 123) # 123# -> 5칸 내에서 오른쪽 정렬
print("#%-5d#" % 123) #123 # -> 5칸 내에서 왼쪽 정렬
print("#%05d#" % 123) #00123# -> 5칸 내에서 빈칸을 0으로 채워라 **
money=123.456789
print("#%f#" % money) #123.456789#
print("#%10.3f#" % money) # 123.457# -> 123.456789의 소수점 6자리에서 앞의 3자리만 사용하고
10칸 내에서 오른쪽 정렬
print("#%-10.3f#" % money) #123.457 # -> 123.456789의 소수점 6자리에서 앞의 3자리만 사용하고
10칸 내에서 왼쪽 정렬
print("#%.3f#" % money) #123.457# -> 123.456789의 소수점 6자리에서 앞의 3자리만 사용한다
print("#%s#" % "KOREA") #KOREA#
print("#%10s#" % "KOREA") # KOREA# -> 10칸 내에서 오른쪽 정렬
print("#%-10s#" % "KOREA") #KOREA # -> 10칸 내에서 왼쪽 정렬
print("%d년 %d월 %d일" %(2020, 8, 13))
예제) 성적표를 출력하시오.
name="박지성"
kor=95
eng=90
mat=100
aver=(kor+eng+mat)/3
print("이름:%s" % name)
print("국어:%d" % kor)
print("영어:%d" % eng)
print("수학:%d" % mat)
print("평균:%.2f" % aver) #평균:95.00
print("이름:%s, 국어:%d, 영어:%d, 수학:%d, 평균:%.2f" % (name, kor, eng, mat, aver))
출력서식을 재활용할 수 있다.
str="%s 날짜는 %d년 %d월 %d일입니다."
msg1= str % ("정모", 2020, 8, 5)
print(msg1) #정모 날짜는 2020년 8월 5일입니다.
msg2= str % ("번개", 2019, 9, 3)
print(msg2) #번개 날짜는 2019년 9월 3일입니다.
② 연산자
이식성이 풍부하다. → 만들어낼 수 있는 연산자가 많다
*이식성 : 소프트웨어가 한 컴퓨터 시스템이나 환경에서 다른 시스템이나 환경에서 다른 시스템이나 환경으로 쉽게 옮겨질 수 있는 성질
산술연산자, 비교연산자, 논리연산자
②- 1) 산술연산자
print(5+3) #8
print(5-3) #2
print(5*3) #15
print(5/3) #1.6666666666666667 -> (실수값을 포함한) 몫
print(5//3) #1 -> (정수값만을 포함한) 몫
print(5%3) #2 -> 나머지(값)
print(3/5) #0.6
print(3//5) #0
print(3%5) #3
print(3**5) #243 = 3^5
②- 2) 비교(관계)연산자
결과값이 논리형(참, 거짓)으로 반환된다.
논리형(boolean): True/False
print(3<5) #True
print(3>5) #False
print(3>=5) #False
print(3<=5) #True
print(3==5) #False * '==' : 서로 같다.
print(3!=5) #True ** '!=' : 서로 같지 않다.
예제1) 임의의 정수가 짝수인지 확인하시오.
(Tip) 짝수: 2로 나누어서 나머지가 0인 수
num=4
print(num%2==0) #True
num=5
print(num%2==0) #False
예제2) 임의의 정수가 3의 배수인지 확인하시오.
num=9
print(num%3==0) #True
num=10
print(num%3==0) #False
문제1) 해당 년도가 윤년인지 확인하시오.
#->365.2422222
#->윤년: 1년이 366일
#->4년마다 윤년(4의 배수)
year=2020
print(year%4==0) #True -> 2월 29일까지 있음
leap=year%4==0
print(leap) #True
문제2) 지폐의 개수를 구하시오.
money=54320
"""
만 원 5장
천 원 4장
백 원 3장
십 원 2장
"""
내 답안
print("만 원 %d장" % (money//10000))
print("천 원 %d장" % ((money%10000)//1000))
print("백 원 %d장" % (((money%10000)%1000)//100))
print("십 원 %d장" % ((((money%10000)%1000)%100)//10))
선생님 답안
m=money//10000 #5
print("만 원 %d장" % m)
money=money%10000 #4320 / 다시 대입 가능
c=money//1000 #4
print("천 원 %d장" % c)
money=money%1000 #320
b=money//100 #3
print("백 원 %d장" % b)
money=money%100 #20
s=money//10 #2
print("십 원 %d장" % s)
나열하는 방식이 더 예쁘다.
②- 3) 논리연산자
조건이 2가지 이상일 때 전체적으로 판단
결과값이 논리형(boolean)으로 반환
and연산자 / or연산자 / not연산자
②- 3)- 1) and연산자
그리고, ~이면서
모든 조건을 만족하면 True
print(True and True) #True
print(True and False) #False
print(False and True) #False
print(False and False) #False
②- 3)- 2) or연산자
또는, ~이거나
조건들 중에서 하나라도 True이면 True
print(True or True) #True
print(True or False) #True
print(False or True) #True
print(False or False) #False
②- 3)- 3) not연산자
부정연산자, ~아니라면
flag=not (3<5)
print(flag)
※ 연산자 우선순위
최우선 연산자 () / 후순위 연산자 =
문제1) 임의의 정수가 2의 배수이면서 5의 배수인지 확인하시오.
num=10
print(num%2==0 and num%5==0) #True
문제2) 임의의 정수가 1이거나 3인지 확인하시오.
code=1
print(code==1 or code==3)
문제3) 국어 점수가 80 ~ 89점 사이인지 확인하시오.
내 답안
kor=70
print(80<=kor<=89)
선생님 답안
kor=90
print(kor>=80 and kor<=89)
문제4) 윤년 구하는 공식
y=2020
print(y%4==0 and y%100!=0 or y%400==0)
==와 is 연산의 차이
a=100 #정수
b=100.0 #실수
# 단순히 값만 비교하므로 두 값이 같다고 판단함
print(a==b) #True
#값의 종류(데이터타입)까지 비교하므로
#->정수와 실수는 다르다고 판단함
print(a is b) #False
'자바 웹개발자 과정 > Python' 카테고리의 다른 글
200817 OOP 03 - Python While, For, Break, Continue (0) | 2020.08.27 |
---|---|
200814 OOP 02 - Python Index, Slice, String, Function, If (0) | 2020.08.26 |