05.03
일주일 만에 대면 수업을 나왔다.
주말에 개인적인 사유로
5주 차 복습 및 블로그 정리를 다 끝내지 못했는데,
마침 5월 5일 어린이날이 공휴일이니
그 날까지 차근차근 공부하고 올려봐야겠다.
오늘 자바 수업에는
지난주 금요일에 내주셨던
Q.21, Q.22번 문제풀이를 하고 함수 진도를 나갈 예정이다.
Q.21은 과제 카테고리에 바로 올릴 예정이나,
Q.22번의 경우 자꾸 될 것 같은데
오류가 나는 나의 노답 코드를
주말까지 꼭 풀어내서^^ 올리도록 하겠다.
+) 선생님은 char 2차원 배열로 하셨는데
나는 char 배열로 풀이하는 바람에(ㅎ)
아마 2차원 배열로도 하나 더 풀어봐야 할 것 같다.
스스로 하는 약속
(이 날은 개인적인 사유로 오후 조퇴😢)
이 날의 숙제
Q.23 . 숫자야구게임 함수화 - 완료
Q.24 . 범인찾기 함수화 - 완료
Q.25 . 낚시게임 함수화 - 아직 다 못함
이 이후에 더 있을지도..?
05.04
파이썬을 배우는 날이다.
실질적으로 지지난주~지난주까지는
전반적인 네트워크에 대해 배웠고,
오늘부터 본격적으로 파이썬을 배운다고 볼 수 있을 것 같다.
오전 오후..
진도 엄청 많이 나가서 스크롤이 쭉쭉 내려갈 예정이다.
type( ) 함수 - ( )안의 타입을 확인 할 수 있는 함수 ex.1)>>> print(type("안녕하세요")) 결과 : <class 'str'> ex.2)>>> print(type(1)) <class 'int'> 문자열 반복 연산자 - 문자열을 숫자와 *연산자로 연결 ex.1)>>> print("안녕하세요"*3) 결과 : 안녕하세요안녕하세요안녕하세요 ex.2)>>> print(3*"안녕하세요") 결과 : 안녕하세요안녕하세요안녕하세요 이스케이프 문자 \" : 큰 따옴표를 의미 ex) >>> print("\"안녕하세요\"라고 말했습니다") 결과 : "안녕하세요"라고 말했습니다 \' : 작은 따옴표를 의미 \n : 줄바꿈을 의미 \t : 탭을 의미 \\ : 역슬래시를 의미 ex)>>> print("\\ \\ \\ \\") 결과 : \ \ \ \ |
\t를 사용하여 출력하기
\n 사용하여 줄 바꿈 출력하기
큰따옴표 or 작은따옴표 세 개를 사용하여 줄 바꿈 출력하기
위아래로 공백 한 줄이 들어가게 줄 바꿈 출력하기
\를 이용하여 위아래 공백을 제거하고 줄 바꿈 출력하기
print("문자 선택 연산자에 대해 알아볼까요?")
print("안녕하세요"[0])
print("안녕하세요"[1])
print("안녕하세요"[2])
print("안녕하세요"[3])
print("안녕하세요"[4])
문자 선택 연산자 (인덱싱) : []
파이썬은 제로 인덱스 사용
(숫자를 0부터 셈)
print("문자를 뒤에서부터 선택해 볼까요?")
print("안녕하세요"[-1])
print("안녕하세요"[-2])
print("안녕하세요"[-3])
print("안녕하세요"[-4])
print("안녕하세요"[-5])
음수로 문자를 거꾸로 출력하기
문자열 범위 선택 연산자(슬라이싱 : [])
뒤의 값 생략 : n번째부터 끝의 문자까지
앞의 값 생략 : 0번째부터 뒤의 숫자 n번째 앞의 문자까지
인덱싱 (indexing) [] 기호 이용해 문자열의 특정 위치에 있는 문자 참조하는 것 슬라이싱 (slicing) [:] 기호 이용해 문자열 일부를 추출하는 것 문자열 선택 연산자로 슬라이스해도 원본은 변하지 않음에 주의 len() 함수 문자열 길이 구할 때 사용 괄호 내부에 문자열 넣으면 문자열의 문자 개수 세어 줌 ex) >>>print(len("안녕하세요")) = 5 +) IndexError (index out of range) 예외 리스트/문자열 수를 넘는 요소/글자 선택할 경우 발생 |
연산자 |
사칙 연산자 : +, -, *, / 정수 나누기 연산자: // 숫자를 나누고 소수점 이하 자릿수 삭제한 후 정수 부분만 남김 ex) >>>print("3 / 2 =" , 3 / 2) 나머지 연산자 : % A를 B로 나누었을 때의 나머지를 구함 ex)>>>print("5 % 2 = ", 5 % 2) 제곱 연산자 : ** 우선순위 파이썬의 수식은 연산자 간 우선순위에 따라 계산됨 곱셈과 나눗셈이 덧셈과 뺄셈보다 우선 ex) >>>print(2 + 2 - 2 * 2 / 2 * 2) TypeError 예외 서로 다른 자료를 연산할 경우 |
print("# 기본적인 연산")
print(15,"+",4,"=",15+4)
print(15,"-",4,"=",15-4)
print(15,"*",4,"=",15*4)
print(15,"/",4,"=",15/4)
print("-----------------")
print("3462를 17로 나누었을 때의")
print("- 몫 :", int(3462/17))
print("- 나머지 :", 3462%17)
연산자 빈칸 연습문제
변수와 입력 |
변수 값을 저장할 때 사용하는 식별자 숫자뿐만 아니라 모든 자료형을 저장할 수 있음 변수를 선언하는 방법 변수를 생성 변수에 값을 할당하는 방법 변수에 값을 넣음
변수에서 값을 꺼냄 변수 안에 있는 값을 사용 |
pi = 3.14159265
print(pi+2)
print(pi-2)
print(pi*2)
print(pi/2)
print(pi%2)
print(pi*pi)
변수 숫자 연산
#변수 선언과 할당
pi = 3.14159265
r = 10
#변수 참조
print("원주율 = ",pi)
print("반지름 = ", r)
print("원의 둘레 = ", 2*pi*r) # 원의 둘레
print("원의 넓이 = ", pi*r*r) # 원의 넓이
변수 만들기 / 사용하기
(pi는 숫자 자료이므로 숫자와 문자열 연산은 불가능)
변수와 입력 |
복합 대입 연산자 기본 연산자와 = 연산자 함께 사용해 구성 문자열 역시 복합 대입 연산자 사용 가능 >>>string += "!" >>>string += "!" >>>print("string : ",string) 결과 : string : 안녕하세요!! 명령 프롬프트에서 사용자로부터 데이터 입력받을 때 사용
|
#입력을 받습니다
string = input("입력>")
#출력합니다
print("자료 :",string)
print("자료형 :",type(string))
input() 입력 자료형 확인하기
∴input() 함수는 사용자가 무엇을 입력해도 결과는 무조건 문자열 자료형
#입력을 받습니다
string = input("입력>")
#출력합니다
print("입력 + 100 : ",string + 100)
입력받고 더하기
에러가 뜸을 알 수 있다
이를 해결할 수 있는 방법↓
input() 함수의 입력 자료형은 항상 문자열이므로 입력받은 문자열을 숫자 연산에 활용하기 위해 숫자로 변환 int() 함수 문자열을 int 자료형으로 변환. float() 함수 문자열을 float 자료형으로 변환 |
string_a = input("입력A>")
int_a = int(string_a)
string_b = input("입력B>")
int_b = int(string_b)
print("문자열 자료: ",string_a + string_b)
print("숫자 자료:",int_a + int_b)
int() 함수 활용하기
ValueError 예외 변환할 수 없는 것을 변환하려 할 경우 숫자가 아닌 것을 숫자로 변환하려 할 경우 소수점이 있는 숫자 형식의 문자열을 int() 함수로 변환하려 할 때 str() 함수 숫자를 문자열로 변환
변수 선언 : 변수를 생성하는 것을 의미
변수 할당 : 변수에 값을 넣는 것을 의미
변수 참조 : 변수에서 값을 꺼내는 것
input() 함수 : 명령 프롬프트에서 사용자로부터 데이터 입력 받음
int() 함수 : 문자열을 int 자료형으로 변환
float 함수 : 문자열을 float 자료형으로 변환
str() 함수 : 숫자를 문자열로 변환
|
str_input = input("원의 반지름 입력>")
num_input = float(str_input)
print()
print("반지름 : ",num_input)
print("둘레 :",2 * 3.14 * num_input)
print("넓이 : ", 3.14 * num_input ** 2)
연습문제
format() 숫자와 문자열을 다양한 형태로 출력 중괄호 포함한 문자열 뒤에 마침표 찍고 format() 함수 사용하되, 문자열의 중괄호 기호가 format() 함수 괄호 안의 매개변수로 차례로 대치되면서 숫자가 문자열이 됨 IndexError 예외 중괄호 기호의 개수가 format() 함수의 매개변수 개수보다 많은 경우
|
#format()함수로 숫자를 문자열로 변환하기
format_a = "{}만원".format(5000)
format_b ="파이썬 열공하여 첫 연봉 {}만원 만들기".format(5000)
format_c = "{} {} {}".format(3000,4000,5000)
format_d = "{} {} {}".format(1,"문자열",True)
#출력하기
print(format_a)
print(format_b)
print(format_c)
print(format_d)
format()함수 예제
#정수
output_a = "{:d}".format(52)
#특정 칸에 출력하기
output_b = "{:5d}".format(52) # 5칸
output_c = "{:10d}".format(52) # 10칸
#빈칸을 0으로 채우기
output_d = "{:05d}".format(52) # 양수
output_e = "{:05d}".format(-52) # 음수
print("# 기본")
print(output_a)
print("#특정 칸에 출력하기")
print(output_b)
print(output_c)
print("# 빈칸을 0으로 채우기")
print(output_d)
print(output_e)
#기호와 함께 출력하기
output_f = "{:+d}".format(52) # 양수
output_g = "{:+d}".format(-52) # 음수
output_h = "{: d}".format(52) # 양수 : 기호 부분 공백
output_i = "{: d}".format(-52) # 음수 : 기호 부분 공백
print("#기호와 함께 출력하기")
print(output_f)
print(output_g)
print(output_h)
print(output_i)
정수 출력의 다양한 형태
# 조합하기
output_h = "{:+5d}".format(52) # 기호를 뒤로 밀기 :양수
output_i = "{:+5d}".format(-52) # 기호를 뒤로 밀기 :음수
output_j = "{:=+5d}".format(52) # 기호를 앞으로 밀기 :양수
output_k = "{:=+5d}".format(-52) # 기호를 앞으로 밀기 :음수
output_l = "{:+05d}".format(52) # 0으로 채우기 : 양수
output_m = "{:+05d}".format(-52) # 0으로 채우기 : 음수
print("# 조합하기")
print(output_h)
print(output_i)
print(output_j)
print(output_k)
print(output_l)
print(output_m)
조합하기
output_a = "{:f}".format(52.273)
output_b = "{:15f}".format(52.273) # 15칸 만들기
output_c = "{:+15f}".format(52.273) # 15칸에 부호 추가하기
output_d = "{:+015f}".format(52.273) # 15칸에 부호 추가하고 0으로 채우기
print(output_a)
print(output_b)
print(output_c)
print(output_d)
부동 소수점 출력의 다양한 형태
#소수점 아래 자릿수 지정하기
output_a ="{:15.3f}".format(52.273)
output_b ="{:15.2f}".format(52.273)
output_c ="{:15.1f}".format(52.273)
print(output_a)
print(output_b)
print(output_c)
#의미 없는 소수점 제거하기
output_d = 52.0
output_e = "{:g}".format(output_d)
print("#의미없는 소수점 제거하기")
print(output_d)
print(output_e)
소수점 아래 자릿수 지정하기
의미 없는 소수점 제거하기
비 파괴적 함수 : 원본이 변화 X 문자의 알파벳을 대문자로 바꿈 lower() 함수 문자의 알파벳을 소문자로 바꿈 strip() 함수 문자열 양옆의 공백을 제거 lstrip() 함수 왼쪽의 공백을 제거 rstrip() 함수 오른쪽의 공백을 제거 출처 : 혼자 공부하는 파이썬 |
불 (boolean) 출력이 True 혹은 False로 나오는 것 find() 왼쪽부터 찾아서 처음 등장하는 위치 찾음 rfind() 오른쪽부터 찾아서 처음 등장하는 위치 찾음 In 연산자 문자열 내부에 어떤 문자열이 있는지 확인할 때 사용 결과는 True(맞다), False(아니다)로 출력 split() 함수 문자열을 특정한 문자로 자름 실행 결과는 리스트 (list)로 출력
출처 : 혼자 공부하는 파이썬 |
split()함수 사용 시 리스트 형식으로 출력된 것을 알 수 있다.
a = input("> 1번째 숫자 :")
b = input("> 2번째 숫자 :")
print()
print("{} + {} = {}".format(a , b, int(a)+int(b)))
PPT 빈칸 예제문제
불 자료형과 if 조건문 |
Boolean불린 / 불리언 / 불 True와 False 값만 가질 수 있음 비교 연산자를 통해 만들 수 있음 숫자 또는 문자열에 적용 문자열에도 비교 연산자 적용 가능 불끼리 논리 연산자 사용 가능
not 연산자 단항 연산자 참과 거짓 반대로 바꿈
and 연산자와 or 연산자 and 연산자는 양쪽 변의 값이 모두 참일 때만 True를 결과로 냄 if 조건문 조건에 따라 코드 실행하거나 실행하지 않게 할 때 사용하는 구문
|
국어사전에서 가방이 하마보다 더 앞에 나오기 때문에
더 작은 수로 인식된다.
= 사전 순
#입력을 받습니다
number = input("정수 입력>")
number = int(number)
#양수조건
if number > 0 :
print("양수입니다.")
#음수 조건
if number < 0 :
print("음수입니다.")
#0 조건
if number == 0 :
print("0입니다.")
if 조건문의 기본 사용
+)tab을 누르면 4칸 들여 쓰기를 해준다(소프트 탭) <-> shift + tab을 하면 되돌아감
#날짜/시간과 관련된 기능을 가져옵니다
import datetime
# 현재 날짜/시간을 구합니다.
now = datetime.datetime.now()
#출력합니다.
print(now.year,"년")
print(now.month,"월")
print(now.day,"일")
print(now.hour,"시")
print(now.minute,"분")
print(now.second,"초")
# 날짜 /시간을 한줄로 출력하기
print("{}년 {}월 {}시 {}분 {}초".format(
now.year,
now.month,
now.day,
now.hour,
now.minute,
now.second
))
#오전 구분
if now.hour < 12:
print("현재 시각은 {}시로 오전입니다.".format(now.hour))
#오후 구분
if now.hour >= 12:
print("현재 시각은 {}시로 오후입니다.".format(now.hour))
#계절 구분
if 3 <= now.month <= 5 :
print("이번달은 {}월로 봄입니다.".format(now.month))
if 6 <= now.month <= 8 :
print("이번달은 {}월로 여름입니다.".format(now.month))
if 9 <= now.month <= 11 :
print("이번달은 {}월로 가을입니다.".format(now.month))
if 12 <= now.month <= 2 :
print("이번달은 {}월로 겨울입니다.".format(now.month))
날짜 / 시간 출력하기
datetime.datetime.now()함수
number = input("숫자를 입력하세요>")
#마지막 자리 숫자를 추출
last_character = number[-1]
#숫자로 변환하기
last_char = int(last_character)
#가장 빠른 방법은 사실 이 방법!
number = int(number)
#짝수확인
if last_char % 2 == 0 :
print("짝수입니다.")
#홀수확인
if last_char %2 != 0 :
print("홀수입니다.")
#in연산자 활용
if last_character in "02468" :
print("짝수입니다.")
if last_character in "13579" :
print("홀수입니다.")
끝자리로 짝수 홀수 구분하기 예제
불 자료형과 if 조건문 2 |
else 구문 if 조건문 뒤에 사용하며, if 조건문의 조건이 거짓을 때 실행되는 부분 조건문이 오로지 두 가지로만 구분될 때 if else 구문을 사용하면
elif 구문 세 개 이상의 조건을 연결해서 사용 if 조건문과 else 구문 사이에 입력 빈 컨테이너 if 조건문의 매개변수에 불 아닌 다른 값이 올 때 자동으로 불로 변환 이때False로 변환되는 값: None, 0.0, 빈 문자열, 빈 바이트 열,, 빈 리스트 나중에 구현하고자 구문을 비워 두는 경우
IndentationError if 조건문 사이에는 무조건 들여 쓰기4칸 넣고 코드 작성해야 함 pass 키워드 아무것도 작성하지 않고 임시적으로 비워 둠
|
# 날짜/시간과 관련한 기능 가져옵니다.
import datetime
# 현재 날짜/시간을 구하고
#쉽게 사용할 수 있게 월을 변수에 저장합니다
now = datetime.datetime.now()
month = now.month
#조건문으로 계절을 확인합니다.
if 3<= month <= 5:
print("현재는 봄입니다.")
elif 6<= month <=8:
print("현재는 여름입니다.")
elif 9<= month <=11:
print("현재는 가을입니다.")
else :
print("현재는 겨울입니다.")
elif 사용한 조건문
현재는 5월이므로 결과 : 현재는 봄입니다 출력
score = float(input("학점 입력>"))
if score == 4.5:
print("신")
elif 4.2 <= score < 4.5 :
print("교수님의 사랑")
elif 3.5 <= score < 4.2 :
print("현 체제의 수호자")
elif 2.8 <= score <3.5 :
print("일반인")
elif 2.3 <= score <2.8 :
print("일탈을 꿈꾸는 소시민")
elif 1.75 <= score <2.3 :
print("오락문화의 선구자")
elif 1.0 <= score <1.75 :
print("불가촉천민")
elif 0.5 <= score <1.0 :
print("자벌레")
elif 0 < score <0.5 :
print("플랑크톤")
elif score == 0:
print("시대를 앞서가는 혁명의 씨앗")
if조건문 예제
but, 위에서 제외된 조건을 한번 더 검사하여 비효율적
score = float(input("학점 입력>"))
if score == 4.5:
print("신")
elif 4.2 <= score:
print("교수님의 사랑")
elif 3.5 <= score:
print("현 체제의 수호자")
elif 2.8 <= score :
print("일반인")
elif 2.3 <= score:
print("일탈을 꿈꾸는 소시민")
elif 1.75 <= score:
print("오락문화의 선구자")
elif 1.0 <= score:
print("불가촉천민")
elif 0.5 <= score :
print("자벌레")
elif 0 < score :
print("플랑크톤")
else :
print("시대를 앞서가는 혁명의 씨앗")
위 조건문 수정. ver
if조건문을 효율적으로 사용하기
하 힘드럿다..
05.06
C언어 비대면 수업 날
인데..!
아무래도 여러 언어를 하다 보니
헷갈리기 시작해서 C언어 파트는
일요일에 따로 공부하고 업로드 예정!
일단 스킵!
05.07
자바 대면 수업 날!
곧이라도 비가 올 것 같은 날씨
+
나의 아리송한 몸 상태로
오늘 컨디션은 최악이다.🤣
되도록이면 조퇴 안 하고 끝까지 버티고 싶은데
몸이 잘 따라주길..!
오전은 3일 날 내준 문제들 풀이와
새로운 문제 풀이!!
(2교시에 문제 풀이하는데 몸이 안 좋아
천국과 지옥을 여러 번 왔다 갔다 했다.. 하)
오후는 클래스 진도를 나갈 예정이다!
아파도 최대한 버티고 버텨서
클래스 진도까지 다 듣고 집에 가야지ㅠㅠ
'공부 > 학원.' 카테고리의 다른 글
국비 개발 학원 7주차(05.10~05.14) (0) | 2021.05.11 |
---|---|
국비 개발 학원 5주차(04.26~04.30) (0) | 2021.04.26 |
국비 개발 학원 4주차(04.19~04.23) (0) | 2021.04.20 |
국비 개발 학원 3주차(04.12~04.16) (0) | 2021.04.12 |
국비 개발 학원 2주차(04.05~04.09) (0) | 2021.04.05 |
댓글