IT&코딩/python

python 1주차 복습

솔론 2022. 7. 7. 21:42
728x90
반응형

컴퓨터 프로그램 : 특정한 목적을 달성하기 위해 만든 컴퓨터 상의 체제

프로그래밍 언어 : 컴퓨터가 이해할 수 있는 언어(명령 전달을 위함)

고급언어 : 사람에게 친숙한 언어일수록 고급언어

------------------------------------------------------------------------------------------------------------------------

Compile 방식 : 실행시간 이전에 코드 전체를 기계언어로 변환 후 실행

Interpret 방식 : 실행시간에 줄 단위로 번역해서 실행함

 

python은 Interpret 방식

 

Managed Language : 메모리 관리를 언어상에서 알아서 해주는 언어(컴퓨터의 깊은 구조에 대한 이해없이 쉽게 접근할 수 있음)

Unmanaged Language : 하드웨어와 가까운 언어(CPU, Register 등에 접근가능, Memory를 직접 관리)

 

print("Hello World")

print(자료) : 자료를 화면에 출력

#ctrl + s / 저장

#ctrl  + F5 / 실행

#ctrl + a / 전체지정

#ctrl + x / 뒤로

#ctrl + y / 앞으로

------------------------------------------------------------------------------------------------------------------------

정수형 : 소수점 없이 표현 가능한 수

실수 : 소수점으로 나타내야 하는 수, 나누어 떨어지지 않는 수

 

print(1)

print(-1)

print(10.12)

print(-19.12)

print(1+2j)

 

python에서 숫자는 0으로 시작할 수 없다. (진법표기에서만 가능)

 

print(0b10) 0b(binary) 2진수 표현

print(0o10) 0o(octal) 8진수 표현

print(0x10) 0x(hexadecimal) 16진수 표현

 

print(1e2) # aeb -> a곱하기 10의 b제곱

------------------------------------------------------------------------------------------------------------------------

문자열 자료형 : 작은 따옴표 사이 혹은 큰 따옴표 사이의 값

# "1"도 문자형이고 " "도 문자형이다

 

print('Mother's Birthday') -> 실행되지 않는다. 중간에 '가 문자 취급이 되어야 하는데 되지 않음.

 

이스케이프 문자 : 문자로 나타내기 제한되는 문자를 표현

역슬래시(\)+ 문자로 나타냄

이스케이프 문자는 무조건 문자열 안에서만 쓰이는 문자인 것 참고하기.

 

\t 탭 tab은 공백이 몇칸인가?는 잘못된 질문이다. tab은 절대적인 공간이 아니라 다음 마다로 이동하는 것을 의미한다. (8칸 기준)

\n 라인피드

\\ 역슬래시

\' 작은 따옴표

\" 큰 따옴표

 

 
print('Mother\'s Birthday')
print("Hello\tWorld")
print("\"\\('.')/\"")
print('"\\(\'.\')/"')
print("1\t2\t3\n4")
print("\\t")

------------------------------------------------------------------------------------------------------------------------

print 함수 

print(자료1, 자료2, 자료3, ..., ) -> 자료들을 출력

 

print("1\t2\t3\n4")
print("\\t")

print(0,0,0,1,end=" ")
print(2, end="\t")
print(3.4)

prit("제 나이는", 36,"입니다.") #자동으로 띄어쓰기가 되는데 이건 sep때문이다.

print(0,0,0,1,end=" ",sep="\t")
#end 는 줄 바꿈이 default
------------------------------------------------------------------------------------------------------------------------
주석
ctrl + / : 주석처리/주석해제
큰 따옴표나, 작은 따옴표 3번은 주석이 아니라 여러줄 문자열이라고 한다.
python에는 여러 줄 주석이라는 개념이 존재하지 않는다.
진정한주석은  코드의 실행에 영향을 미치지 않는다.
------------------------------------------------------------------------------------------------------------------------
변수 
 
여러 값을 받으려면 여러 값을 받으려는 공간에 이름을 붙여야 함
 
변수의 정의
 
=(대입연산자) 
오른쪽에 있는 값을 왼쪽으로 대립
특성까지 옮겨간다. (중요한 내용)
 
같다는 ==로 표시한다
 
x=10 일 때 x는 정수 자료가 된다. 즉 print(x) 가능.
 
파이썬만의 특징 : (변수가 저장하는 값이) 시시각각 변할 수 있음

a=10 정수형 자료형인 10을 a에 대입한다.

b=1.2 실수형 자료형인 1.2을 b에 대입한다.

c="Hello" 문자열 자료형인 "Hello"를 c에 대입한다.

d=1+2 1+2의 값을 d에 대입한다.

변수는 밖으로 나와야 출력이 된다.

 

y="hello"
print(y) #문자열이러도 밖으로 빼워야 한다.
#우측에 수식이나 함수가 나오면 먼저 처리하고 그 결과를 왼쪽에 대입

------------------------------------------------------------------------------------------------------------------------

변수명 설명 주의사항
1. 특정 기능을 수행하는 경우만 설정
2. 변수명만 보고도 어떤 자료를 가지고 있는지 유추할 수 있도록 설정
3. 처음 글자는 영어 소문자로 설정
4. 예약어는 변수명으로 사용금지

예약어X, 숫자시작x, 공백사용x ->3개는 반드시 지킬 것

------------------------------------------------------------------------------------------------------------------------

print(이름)
print(나이)
print(각오)

print("제 이름은",이름,"입니다","제 나이는",나이,"입니다","제 각오는",각오,"입니다",sep=" ")

print("제 이름은", 이름)
print("나이", 나이, end="\t")
print(이름)

------------------------------------------------------------------------------------------------------------------------

#에러로 학습하자

라인도 알려주고 어디인지 화살표로도 알려준다. 에러는 스스로 해결하고자 노력하자.
에러의 종류와 상세설명


1) SyntaxError : 문법오류(오타)

따옴표를 안 썼거나, 괄호를 닫지 않았거나 등등.
 
2) NameError : 선언되지 않은 변수 사용

변수는 대소문자 구분되어야 한다.

3) IndentationError : 칸 띄우기 에러

파이썬은 본디 칸 띄우기에 엄청 예민한 언어.

3개의 언어는 질문 전에 한번씩 스스로 생각해보기.

연산자 (노트필기 참조)
type(자료) -> 자료의 자료형을 반환한다.


type(1) : 1은 정수형입니다라고 치환 
type(1.2) : 1.2는 실수형입니다라고 치환
type(1-2j) : 1-2j는 복소수형입니다라고 치환
type("Hello") : 문자형입니다라고 치환

 

왼쪽 자료가 사라지고 그 자리에 오른쪽 자료가 남아

 

정수형 : int

문자열 : str

실수형 : float

복소수 : complex

 

비트-> 2진수 연산자

문자열 연산자는 +랑 *만 가능

 

 


#함수안에 함수가 있으면 안쪽부터 실행

print(type(1))
print(type(1.2))
print(type(1-2j))
print(type("Hello"))



a=10
b=3

print(a+b)
print(a-b)
print(a*b)
print(a/b)
print(a//b)
print(a%b)
print(a**b)


#프로그래밍 언어도 똑같이 곱셈과 나눗셈 먼저. 덧셈 먼저 하려면 괄호, 0으로 나눌 수 없다.

A=20
B=3

print("A는",A, "입니다")
print("B는",B,"입니다")
print() #칸 띄어줄 때 사용
print("A + B=",A+B)
print("A - B=",A-B)
print("A * B=",A*B)
print("A / B=",A/B)
print("A // B=",A//B)
print("A % B=",A%B)
print("A ** B=",A**B)

A="hello"
B="world"

print("A는",A, "입니다")
print("B는",B,"입니다")
print() #칸 띄어줄 때 사용
print("A + B=",A+B)
print("A - B=",A-B)
print("A * B=",A*B)
print("A / B=",A/B)
print("A // B=",A//B)
print("A % B=",A%B)
print("A ** B=",A**B)



#1. 문자열의 연산자 뭐가 살아남는
#2. python은 interpreter 언어!!
#3. 에러도 한번씩 읽어보세요

------------------------------------------------------------------------------------------------------------------------

 

연산자 %의 활용(한 달 동안의 내용)

1. 짝수, 홀수의 성질

%2


2, 약수, 배수의 성질

A가 B의 약수다 : B%A=0

A가 B의 배수다 : A%B=0

 

3. N개의 상황규정 : %N을 했을 때 나올 수 있는 경우는 0을 포함해서 총 N개다. (0+(N-1))

 

4. 1의 자리의 검출, 10의 자리의 검출

#세 자리 수에서 백의자리, 십의자리, 일의자리 각각 뽑아오는 일반식 세워주세요

a=825

print(a//100) #백의 자리 출력하는 공식
print(a%100//10) #십의 자리 출력하는 공식
print(a%10) #일의 자리 출력하는 공식

 

#총 sec를 입력받고, 시간, 분, 초를 출력해주는 프로그램
total_sec=6000
시=total_sec//3600
분=total_sec%3600//60
초=total_sec%60​


print(시, 분, 초)

 

input(문자열)

문자열을 화면에 출력하고,
입력이 들어올 때까지 기다려라. -> 즉 엔터를 누를 때까지
입력이 들어오면 해당 값을 반환.-> 반환의 개념이 중요. 기존 표현이 사라지고 입력값만 남는다.

input("입력:")
print(input("입력:"))

입력은 변수에 많이 넣는 개념이다

x=input("입력:")

x=input("입력:" )
print("x의 값은",x,"입니다.")
<이름, 나이, 이메일을 입력받고 출력하기>
 
 
a=input("이름:")
b=input("나이:")
c=input("이메일:")

print("이름:",a)
print("나이:",b)
print("이메일:",c)

input 함수 안 문자열은 "안내글"을 작성하는 것이다.

------------------------------------------------------------------------------------------------------------------------

<두 수를 입력받고 두 수의 연산들을 출력하는 프로그램을 작성하세요.>

#형변환 : 자료의 자료형을 변환 !
# A(B)
# A : 바꾸고 싶은 형태의 자료형 이름
# B : 바꿀 자료.

a=int(input("첫 번째 수 입력:"))
b=int(input("두 번째 수 입력:"))


print("덧셈:",a+b)
print("뺄셈:",a-b)
print("곱셈:",a*b)

int(a) 를 했을 때 a자체를 바꾸는 표현이 아니라, a가 int가 됐을 때 어떻게 될까를 나타내는 것.

국어=int(input("국어점수 입력:"))
수학=int(input("수학점수 입력:"))
과학=int(input("과학점수 입력:"))

print("평균점수:",(국어+수학+과학)/3)
------------------------------------------------------------------------------------------------------------------------

# 변수 사용 시점 : 변동이 잦은 값 저장. 재사용되는 값.

<사과:3000원, 배:2000원 사과와 배의 개수를 입력 받고, 총 금액을 출력하는 프로그램>

print("사과=3000원")
print("배=2000원")

apple=int(input("사과개수 입력:"))
pear=int(input("배개수 입력:"))

total_price=apple*3000+pear*2000
print("총 금액=",total_price,"원")



항상 보는 사람의 입장을 고려할 것. 

-선생님 답안-

ap_pr = 3000
pe_pr = 2000

print("="*30)
print("사과", ap_pr, "원")
print("배",pe_pr,"원")
print("="*30)

ap = int(input("사과개수 입력 : "))
pe = int(input("배개수 입력 : "))

total = ap * ap_pr + pe * pe_pr

print(total)

------------------------------------------------------------------------------------------------------------------------

시=int(input("시간의 시를 입력하시오:"))
분=int(input("시간의 분을 입력하시오:"))
초=int(input("시간의 초를 입력하시오:"))

total_sec=시*3600+분*60+초
print("입력하신 시간은 총",total_sec,"초입니다")
------------------------------------------------------------------------------------------------------------------------

#섭씨온도를 화씨온도로 변환하기
 
print("="*50)
print("섭씨온도를 화씨온도로 변환해드립니다")
print("="*50)

섭씨=float(input("섭씨온도 입력:"))
화씨=섭씨*1.8000+32.00

print("화씨온도로",화씨,"도 입니다.")
 
------------------------------------------------------------------------------------------------------------------------

print("="*50)
print("정다각형의 한 내각의 크기를 구해드립니다")
print("="*50)

a=int(input("몇 각형? :"))

b=180*(a-2)/a

print("한 내각의 크기는",b,"도 입니다")
------------------------------------------------------------------------------------------------------------------------

* /의 결과는 무조건 실수다.

 roung(A,B) A:실수 B:자리수
------------------------------------------------------------------------------------------------------------------------
print("="*50)
print("한라산...얼마나 더 높이 올라가야 할까?")
print("="*50)

height=int(input("현재 당신의 높이를 입력하세요(m) :"))

b=(1947-height)/1947*100
c=round(b,2)

print(c,"%만 더 올라가시면 됩니다!!")
a=int(input("세 자리 수를 입력하시오:"))

h=a//100
t=a%100//10
o=a%10

print("백의 자리:",h)
print("십의 자리:",t)
print("일의 자리:",o)
--------------------------------------------------------------------------------

#총 sec를 입력받고, 시간, 분, 초를 출력해주는 프로그램

total_sec=int(input("초를 입력하시오:"))

hour=total_sec//3600
min_=total_sec%3600//60
sec=total_sec%60

print(hour,"시간",min_,"분",sec,"초")
728x90
반응형